//interfaceFun接口函数，初始化入口

//indexMain  对应页面



// import ff_owl from './owl.carousel';

// {faf: include('../options/headerHover/headerHover.js')}

$(function () {

    $('body').css('opacity', '1');

})

var options = {},

    newStyleContent = {

        insertCss: `

            .ff_bodyMask {

                position: fixed;

                z-index: 10000;

                top: 0;

                left: 0;

                width: 100%;

                height: 100%;

                background-color: rgba(0, 0, 0, .3);

                display: none;

            }

            .ff_bodyMask-content {

                position: absolute;

                top: 50%;

                left: 50%;

                background: #fff;

                transform: translate3D(-50%, -60%, 0);

            }

        `

    },

    job = {};



(function (win, $) {

    $.fn.extend({
        simpleSlider: function simpleSlider(option) {

            var _width = 0,
                widths = [],
                fullWidths = [],
                heights = [],
                fullHeights = [],
                itemWidths = [],
                pos = [],
                initOption = {
                    style: 'top',
                    items: 3,
                    dir: true,
                    margin: 0,
                    speed: 800
                },
                currentItem,
                $slider = $(this),
                $sliderWrap = $slider.parent(),
                sliderWrapPad = {
                    left: [parseInt($sliderWrap.css('padding-left')).toFixed(2), parseInt($sliderWrap.css('padding-right')).toFixed(2)],
                    top: [parseInt($sliderWrap.css('padding-top')).toFixed(2), parseInt($sliderWrap.css('padding-bottom')).toFixed(2)]
                },
                items = $slider.children(),
                current = 0,
                sliderNav;

            var dirBtn = '\n                <div class="owl-nav">\n                    <div class="owl-prev">\n                        <i class="icon iconfont icon-back"></i>\n                    </div>\n                    <div class="owl-next">\n                        <i class="iconfont icon-more"></i>\n                    </div>\n                </div>';

            items.eq(0).addClass('active');
            items.wrapAll('<div class="simple-slider-outer"><div class="simple-slider-stage"></div></div>');

            $slider = $(this).find('.simple-slider-stage');
            $sliderWrap = $slider.parent();

            $.extend(initOption, option, true);

            if (initOption.dir) {

                $(dirBtn).insertAfter($sliderWrap);
            }

            function gotoPos(index, page) {
                var dataArr, dir;
                if (initOption.style == 'left') {
                    dir = 'lr';
                    if (page) {
                        dataArr = fullWidths;
                    } else {
                        dataArr = widths;
                    }
                } else if (initOption.style == 'top') {
                    console.log(heights, 'top 下高度数据集合')
                    dir = 'bt';
                    if (page) {
                        dataArr = fullHeights;
                    } else {
                        dataArr = heights;
                    }
                }
                if (page) {
                    if (index < current) {
                        index = initOption.items * (Math.floor((index) / initOption.items)) - 1;
                    } else if (index > current) {
                        console.log(index, 'downc')
                        index = initOption.items * Math.ceil((index) / initOption.items);
                        index = Math.min(index, items.length - initOption.items);
                        console.log(index, 'downc')
                    }
                }

                index = Math.max(index, 0);
                index = Math.min(index, items.length - 1);

                var $currentItem = items.eq(index),
                    disBox = tools.getRelPos($currentItem, $sliderWrap),
                    disPar = tools.getRelPos($currentItem, $slider),
                    disInfor;

                // if ($currentItem.hasClass('active')) return;

                tools.tabActive(items.eq(index));
                if (page) {
                    $slider.css({
                        'transform': function () {
                            var dis = -dataArr[index],
                                str;
                            if (dir == 'lr') {
                                str = 'translate3D(' + dis + 'px, 0px, 0px)';
                            } else if (dir == 'bt') {
                                str = 'translate3D(0px, ' + dis + 'px, 0px)';
                            }
                            return str;
                        }
                    });
                } else if (items[index - 1] && tools.getRelPos($sliderWrap, items.eq(index - 1))[initOption.style] < 0) {

                    disInfor = tools.getRelPos(items.eq(index - 1), $slider);

                    $slider.css({
                        'transform': function transform() {
                            var disX = disInfor.left,
                                disY = disInfor.top,
                                str = 'translate3D(' + disX + 'px, ' + disY + 'px, 0px)';
                            return str;
                        }
                    });
                } else if (dataArr[index + 1] && dataArr[index + 1] < 0) {
                    console.log('infor', Math.abs(dataArr[index + 1]), $sliderWrap.outerHeight());
                    console.log(dataArr, dataArr[index], index);
                    $slider.css({
                        'transform': function () {
                            var dis = dataArr[index + 1],
                                str;
                            if (dir == 'lr') {
                                str = 'translate3D(' + dis + 'px, 0px, 0px)';
                            } else if (dir == 'bt') {
                                str = 'translate3D(0px, ' + dis + 'px, 0px)';
                            }
                            console.log(str);
                            return str;
                        }
                    });
                }

                current = index;

                $sliderWrap.trigger('change-simpleSlider', [{
                    item: current
                }]);
            }

            // 确认 一行显示几个
            initOption.items = initOption.items ? initOption.items : Math.round($sliderWrap.width() / items.eq(0).width());
            $sliderWrap.css({
                overflow: 'hidden'
            });
            $slider.css({
                'transition': initOption.speed / 1000 + 's'
            });

            if (initOption.style == 'left') {
                initOption.margin = initOption.margin ? initOption.margin : -parseInt($(this).css('margin-right'));
                items.each(function (i, n) {
                    $(n).css({
                        width: function width() {
                            _width += (($sliderWrap.width() + initOption.margin) / initOption.items).toFixed(3) - initOption.margin + initOption.margin;
                            return (($sliderWrap.width() + initOption.margin) / initOption.items).toFixed(3) - initOption.margin;
                        }
                    });

                    widths.push(Math.max(_width - $sliderWrap.width()));
                    fullWidths.push(_width);
                });
                fullWidths.unshift(0);
                $slider.css({
                    width: _width
                });
                items.css({
                    float: 'left',
                    'margin-right': initOption.margin
                });
            } else if (initOption.style == 'top') {
                initOption.margin = initOption.margin ? initOption.margin : parseInt($(this).css('margin-bottom'));

                items.each(function (i, n) {
                    $(n).css({
                        width: function width() {
                            return $(this).outerWidth();
                        },
                        height: function height() {
                            return $(this).outerHeight();
                        }
                    });
                });

                var h = items.eq(0).height();

                items.css({
                    float: 'none',
                    'margin-bottom': initOption.margin
                });
                $slider.css({
                    height: 'auto'
                });
                $sliderWrap.css({
                    height: function height() {
                        return (items.eq(0).outerHeight() + initOption.margin) * initOption.items - initOption.margin;
                    }
                });

                items.each(function (i, n) {
                    var itemHeight = $(n).outerHeight(),
                        disY = tools.getRelPos($(this), $sliderWrap).top,
                        wraperHeight;
                    if (isNaN($sliderWrap.css('margin'))) {

                        wraperHeight = $sliderWrap.height() - parseInt($sliderWrap.css('margin'));
                    } else {

                        wraperHeight = $sliderWrap.height() - $sliderWrap.css('margin');
                    }

                    fullHeights.push((items.eq(0).outerHeight() + initOption.margin) * Math.min(items.length - initOption.items, i));
                    heights.push(Math.min(0, disY - itemHeight + wraperHeight));

                });

            }

            items.on('click', function () {
                gotoPos($(this).index());
            });
            $(this).find('.owl-prev').click(function (ev) {
                gotoPos(current - 1, false);
            });
            $(this).find('.owl-next').click(function (ev) {
                gotoPos(current + 1, false);
            });

            return {
                el: $sliderWrap,
                now: function now() {
                    return current;
                },
                to: function to(index) {
                    console.log(index);
                    gotoPos(index);
                },
                next: function next() {
                    this.to(current + 1);
                },
                prev: function prev() {
                    this.to(current - 1);
                }
            };
        }
    });
})(window, jQuery);
/*! sly 1.6.1 - 8th Aug 2015 | https://github.com/darsain/sly */ !(function (

    a,

    b,

    c

) {

    "use strict";



    function d(b, p, q) {

        function K(c) {

            var d = 0,

                e = Gb.length;

            if (

                ((yb.old = a.extend({}, yb)),

                    (wb = tb ? 0 : ub[rb.horizontal ? "width" : "height"]()),

                    (Bb = zb[rb.horizontal ? "width" : "height"]()),

                    (xb = tb

                        ? b

                        : vb[rb.horizontal ? "outerWidth" : "outerHeight"]()),

                    (Gb.length = 0),

                    (yb.start = 0),

                    (yb.end = H(xb - wb, 0)),

                    Rb)

            ) {

                (d = Ib.length),

                    (Hb = vb.children(rb.itemSelector)),

                    (Ib.length = 0);

                var f,

                    g = j(vb, rb.horizontal ? "paddingLeft" : "paddingTop"),

                    h = j(vb, rb.horizontal ? "paddingRight" : "paddingBottom"),

                    i = "border-box" === a(Hb).css("boxSizing"),

                    l = "none" !== Hb.css("float"),

                    m = 0,

                    n = Hb.length - 1;

                (xb = 0),

                    Hb.each(function (b, c) {

                        var d = a(c),

                            e = c.getBoundingClientRect(),

                            i = G(

                                rb.horizontal

                                    ? e.width || e.right - e.left

                                    : e.height || e.bottom - e.top

                            ),

                            k = j(

                                d,

                                rb.horizontal ? "marginLeft" : "marginTop"

                            ),

                            o = j(

                                d,

                                rb.horizontal ? "marginRight" : "marginBottom"

                            ),

                            p = i + k + o,

                            q = !k || !o,

                            r = {};

                        (r.el = c),

                            (r.size = q ? i : p),

                            (r.half = r.size / 2),

                            (r.start = xb + (q ? k : 0)),

                            (r.center = r.start - G(wb / 2 - r.size / 2)),

                            (r.end = r.start - wb + r.size),

                            b || (xb += g),

                            (xb += p),

                            rb.horizontal ||

                            l ||

                            (o && k && b > 0 && (xb -= I(k, o))),

                            b === n &&

                            ((r.end += h), (xb += h), (m = q ? o : 0)),

                            Ib.push(r),

                            (f = r);

                    }),

                    (vb[0].style[rb.horizontal ? "width" : "height"] =

                        (i ? xb : xb - g - h) + "px"),

                    (xb -= m),

                    Ib.length

                        ? ((yb.start = Ib[0][Pb ? "center" : "start"]),

                            (yb.end = Pb ? f.center : xb > wb ? f.end : yb.start))

                        : (yb.start = yb.end = 0);

            }

            if (

                ((yb.center = G(yb.end / 2 + yb.start / 2)),

                    V(),

                    Ab.length &&

                    Bb > 0 &&

                    (rb.dynamicHandle

                        ? ((Cb = yb.start === yb.end ? Bb : G((Bb * wb) / xb)),

                            (Cb = k(Cb, rb.minHandleSize, Bb)),

                            (Ab[0].style[rb.horizontal ? "width" : "height"] =

                                Cb + "px"))

                        : (Cb = Ab[

                            rb.horizontal ? "outerWidth" : "outerHeight"

                        ]()),

                        (Db.end = Bb - Cb),

                        ec || N()),

                    !tb && wb > 0)

            ) {

                var o = yb.start,

                    p = "";

                if (Rb)

                    a.each(Ib, function (a, b) {

                        Pb

                            ? Gb.push(b.center)

                            : b.start + b.size > o &&

                            o <= yb.end &&

                            ((o = b.start),

                                Gb.push(o),

                                (o += wb),

                                o > yb.end && o < yb.end + wb && Gb.push(yb.end));

                    });

                else for (; o - wb < yb.end;) Gb.push(o), (o += wb);

                if (Eb[0] && e !== Gb.length) {

                    for (var q = 0; q < Gb.length; q++)

                        p += rb.pageBuilder.call(sb, q);

                    (Fb = Eb.html(p).children()),

                        Fb.eq(Jb.activePage).addClass(rb.activeClass);

                }

            }

            if (

                ((Jb.slideeSize = xb),

                    (Jb.frameSize = wb),

                    (Jb.sbSize = Bb),

                    (Jb.handleSize = Cb),

                    Rb)

            ) {

                c &&

                    null != rb.startAt &&

                    (T(rb.startAt),

                        sb[Qb ? "toCenter" : "toStart"](rb.startAt));

                var r = Ib[Jb.activeItem];

                L(Qb && r ? r.center : k(yb.dest, yb.start, yb.end));

            } else

                c

                    ? null != rb.startAt && L(rb.startAt, 1)

                    : L(k(yb.dest, yb.start, yb.end));

            ob("load");

        }



        function L(a, b, c) {

            if (Rb && cc.released && !c) {

                var d = U(a),

                    e = a > yb.start && a < yb.end;

                Qb

                    ? (e && (a = Ib[d.centerItem].center),

                        Pb && rb.activateMiddle && T(d.centerItem))

                    : e && (a = Ib[d.firstItem].start);

            }

            cc.init && cc.slidee && rb.elasticBounds

                ? a > yb.end

                    ? (a = yb.end + (a - yb.end) / 6)

                    : a < yb.start && (a = yb.start + (a - yb.start) / 6)

                : (a = k(a, yb.start, yb.end)),

                (ac.start = +new Date()),

                (ac.time = 0),

                (ac.from = yb.cur),

                (ac.to = a),

                (ac.delta = a - yb.cur),

                (ac.tweesing = cc.tweese || (cc.init && !cc.slidee)),

                (ac.immediate =

                    !ac.tweesing && (b || (cc.init && cc.slidee) || !rb.speed)),

                (cc.tweese = 0),

                a !== yb.dest && ((yb.dest = a), ob("change"), ec || M()),

                Z(),

                V(),

                W(),

                O();

        }



        function M() {

            if (sb.initialized) {

                if (!ec)

                    return (ec = t(M)), void (cc.released && ob("moveStart"));

                ac.immediate

                    ? (yb.cur = ac.to)

                    : ac.tweesing

                        ? ((ac.tweeseDelta = ac.to - yb.cur),

                            D(ac.tweeseDelta) < 0.1

                                ? (yb.cur = ac.to)

                                : (yb.cur +=

                                    ac.tweeseDelta *

                                    (cc.released ? rb.swingSpeed : rb.syncSpeed)))

                        : ((ac.time = I(+new Date() - ac.start, rb.speed)),

                            (yb.cur =

                                ac.from +

                                ac.delta *

                                a.easing[rb.easing](

                                    ac.time / rb.speed,

                                    ac.time,

                                    0,

                                    1,

                                    rb.speed

                                ))),

                    ac.to === yb.cur

                        ? ((yb.cur = ac.to), (cc.tweese = ec = 0))

                        : (ec = t(M)),

                    ob("move"),

                    tb ||

                    (m

                        ? (vb[0].style[m] =

                            n +

                            (rb.horizontal

                                ? "translateX"

                                : "translateY") +

                            "(" +

                            -yb.cur +

                            "px)")

                        : (vb[0].style[rb.horizontal ? "left" : "top"] =

                            -G(yb.cur) + "px")),

                    !ec && cc.released && ob("moveEnd"),

                    N();

            }

        }



        function N() {

            Ab.length &&

                ((Db.cur =

                    yb.start === yb.end

                        ? 0

                        : (((cc.init && !cc.slidee ? yb.dest : yb.cur) -

                            yb.start) /

                            (yb.end - yb.start)) *

                        Db.end),

                    (Db.cur = k(G(Db.cur), Db.start, Db.end)),

                    _b.hPos !== Db.cur &&

                    ((_b.hPos = Db.cur),

                        m

                            ? (Ab[0].style[m] =

                                n +

                                (rb.horizontal ? "translateX" : "translateY") +

                                "(" +

                                Db.cur +

                                "px)")

                            : (Ab[0].style[rb.horizontal ? "left" : "top"] =

                                Db.cur + "px")));

        }



        function O() {

            Fb[0] &&

                _b.page !== Jb.activePage &&

                ((_b.page = Jb.activePage),

                    Fb.removeClass(rb.activeClass)

                        .eq(Jb.activePage)

                        .addClass(rb.activeClass),

                    ob("activePage", _b.page));

        }



        function P() {

            (bc.speed && yb.cur !== (bc.speed > 0 ? yb.end : yb.start)) ||

                sb.stop(),

                (hc = cc.init ? t(P) : 0),

                (bc.now = +new Date()),

                (bc.pos = yb.cur + ((bc.now - bc.lastTime) / 1e3) * bc.speed),

                L(cc.init ? bc.pos : G(bc.pos)),

                cc.init || yb.cur !== yb.dest || ob("moveEnd"),

                (bc.lastTime = bc.now);

        }



        function Q(a, b, d) {

            if (("boolean" === e(b) && ((d = b), (b = c)), b === c))

                L(yb[a], d);

            else {

                if (Qb && "center" !== a) return;

                var f = sb.getPos(b);

                f && L(f[a], d, !Qb);

            }

        }



        function R(a) {

            return null != a

                ? i(a)

                    ? a >= 0 && a < Ib.length

                        ? a

                        : -1

                    : Hb.index(a)

                : -1;

        }



        function S(a) {

            return R(i(a) && 0 > a ? a + Ib.length : a);

        }



        function T(a, b) {

            var c = R(a);

            return !Rb || 0 > c

                ? !1

                : ((_b.active !== c || b) &&

                    (Hb.eq(Jb.activeItem).removeClass(rb.activeClass),

                        Hb.eq(c).addClass(rb.activeClass),

                        (_b.active = Jb.activeItem = c),

                        W(),

                        ob("active", c)),

                    c);

        }



        function U(a) {

            a = k(i(a) ? a : yb.dest, yb.start, yb.end);

            var b = {},

                c = Pb ? 0 : wb / 2;

            if (!tb)

                for (var d = 0, e = Gb.length; e > d; d++) {

                    if (a >= yb.end || d === Gb.length - 1) {

                        b.activePage = Gb.length - 1;

                        break;

                    }

                    if (a <= Gb[d] + c) {

                        b.activePage = d;

                        break;

                    }

                }

            if (Rb) {

                for (

                    var f = !1, g = !1, h = !1, j = 0, l = Ib.length;

                    l > j;

                    j++

                )

                    if (

                        (f === !1 && a <= Ib[j].start + Ib[j].half && (f = j),

                            h === !1 && a <= Ib[j].center + Ib[j].half && (h = j),

                            j === l - 1 || a <= Ib[j].end + Ib[j].half)

                    ) {

                        g = j;

                        break;

                    }

                (b.firstItem = i(f) ? f : 0),

                    (b.centerItem = i(h) ? h : b.firstItem),

                    (b.lastItem = i(g) ? g : b.centerItem);

            }

            return b;

        }



        function V(b) {

            a.extend(Jb, U(b));

        }



        function W() {

            var a = yb.dest <= yb.start,

                b = yb.dest >= yb.end,

                c = (a ? 1 : 0) | (b ? 2 : 0);

            if (

                (_b.slideePosState !== c &&

                    ((_b.slideePosState = c),

                        Yb.is("button,input") && Yb.prop("disabled", a),

                        Zb.is("button,input") && Zb.prop("disabled", b),

                        Yb.add(Vb)[a ? "addClass" : "removeClass"](

                            rb.disabledClass

                        ),

                        Zb.add(Ub)[b ? "addClass" : "removeClass"](

                            rb.disabledClass

                        )),

                    _b.fwdbwdState !== c &&

                    cc.released &&

                    ((_b.fwdbwdState = c),

                        Vb.is("button,input") && Vb.prop("disabled", a),

                        Ub.is("button,input") && Ub.prop("disabled", b)),

                    Rb && null != Jb.activeItem)

            ) {

                var d = 0 === Jb.activeItem,

                    e = Jb.activeItem >= Ib.length - 1,

                    f = (d ? 1 : 0) | (e ? 2 : 0);

                _b.itemsButtonState !== f &&

                    ((_b.itemsButtonState = f),

                        Wb.is("button,input") && Wb.prop("disabled", d),

                        Xb.is("button,input") && Xb.prop("disabled", e),

                        Wb[d ? "addClass" : "removeClass"](rb.disabledClass),

                        Xb[e ? "addClass" : "removeClass"](rb.disabledClass));

            }

        }



        function X(a, b, c) {

            if (

                ((a = S(a)),

                    (b = S(b)),

                    a > -1 &&

                    b > -1 &&

                    a !== b &&

                    (!c || b !== a - 1) &&

                    (c || b !== a + 1))

            ) {

                Hb.eq(a)[c ? "insertAfter" : "insertBefore"](Ib[b].el);

                var d = b > a ? a : c ? b : b - 1,

                    e = a > b ? a : c ? b + 1 : b,

                    f = a > b;

                null != Jb.activeItem &&

                    (a === Jb.activeItem

                        ? (_b.active = Jb.activeItem = c

                            ? f

                                ? b + 1

                                : b

                            : f

                                ? b

                                : b - 1)

                        : Jb.activeItem > d &&

                        Jb.activeItem < e &&

                        (_b.active = Jb.activeItem += f ? 1 : -1)),

                    K();

            }

        }



        function Y(a, b) {

            for (var c = 0, d = $b[a].length; d > c; c++)

                if ($b[a][c] === b) return c;

            return -1;

        }



        function Z() {

            cc.released && !sb.isPaused && sb.resume();

        }



        function $(a) {

            return (

                G((k(a, Db.start, Db.end) / Db.end) * (yb.end - yb.start)) +

                yb.start

            );

        }



        function _() {

            (cc.history[0] = cc.history[1]),

                (cc.history[1] = cc.history[2]),

                (cc.history[2] = cc.history[3]),

                (cc.history[3] = cc.delta);

        }



        function ab(a) {

            (cc.released = 0), (cc.source = a), (cc.slidee = "slidee" === a);

        }



        function bb(b) {

            var c = "touchstart" === b.type,

                d = b.data.source,

                e = "slidee" === d;

            cc.init ||

                (!c && eb(b.target)) ||

                (("handle" !== d || (rb.dragHandle && Db.start !== Db.end)) &&

                    (!e ||

                        (c

                            ? rb.touchDragging

                            : rb.mouseDragging && b.which < 2)) &&

                    (c || f(b),

                        ab(d),

                        (cc.init = 0),

                        (cc.$source = a(b.target)),

                        (cc.touch = c),

                        (cc.pointer = c ? b.originalEvent.touches[0] : b),

                        (cc.initX = cc.pointer.pageX),

                        (cc.initY = cc.pointer.pageY),

                        (cc.initPos = e ? yb.cur : Db.cur),

                        (cc.start = +new Date()),

                        (cc.time = 0),

                        (cc.path = 0),

                        (cc.delta = 0),

                        (cc.locked = 0),

                        (cc.history = [0, 0, 0, 0]),

                        (cc.pathToLock = e ? (c ? 30 : 10) : 0),

                        u.on(c ? x : w, cb),

                        sb.pause(1),

                        (e ? vb : Ab).addClass(rb.draggedClass),

                        ob("moveStart"),

                        e && (fc = setInterval(_, 10))));

        }



        function cb(a) {

            if (

                ((cc.released = "mouseup" === a.type || "touchend" === a.type),

                    (cc.pointer = cc.touch

                        ? a.originalEvent[

                        cc.released ? "changedTouches" : "touches"

                        ][0]

                        : a),

                    (cc.pathX = cc.pointer.pageX - cc.initX),

                    (cc.pathY = cc.pointer.pageY - cc.initY),

                    (cc.path = E(F(cc.pathX, 2) + F(cc.pathY, 2))),

                    (cc.delta = rb.horizontal ? cc.pathX : cc.pathY),

                    cc.released || !(cc.path < 1))

            ) {

                if (!cc.init) {

                    if (cc.path < rb.dragThreshold)

                        return cc.released ? db() : c;

                    if (

                        !(rb.horizontal

                            ? D(cc.pathX) > D(cc.pathY)

                            : D(cc.pathX) < D(cc.pathY))

                    )

                        return db();

                    cc.init = 1;

                }

                f(a),

                    !cc.locked &&

                    cc.path > cc.pathToLock &&

                    cc.slidee &&

                    ((cc.locked = 1), cc.$source.on(z, g)),

                    cc.released &&

                    (db(),

                        rb.releaseSwing &&

                        cc.slidee &&

                        ((cc.swing =

                            ((cc.delta - cc.history[0]) / 40) * 300),

                            (cc.delta += cc.swing),

                            (cc.tweese = D(cc.swing) > 10))),

                    L(

                        cc.slidee

                            ? G(cc.initPos - cc.delta)

                            : $(cc.initPos + cc.delta)

                    );

            }

        }



        function db() {

            clearInterval(fc),

                (cc.released = !0),

                u.off(cc.touch ? x : w, cb),

                (cc.slidee ? vb : Ab).removeClass(rb.draggedClass),

                setTimeout(function () {

                    cc.$source.off(z, g);

                }),

                yb.cur === yb.dest && cc.init && ob("moveEnd"),

                sb.resume(1),

                (cc.init = 0);

        }



        function eb(b) {

            return ~a.inArray(b.nodeName, B) || a(b).is(rb.interactive);

        }



        function fb() {

            sb.stop(), u.off("mouseup", fb);

        }



        function gb(a) {

            switch ((f(a), this)) {

                case Ub[0]:

                case Vb[0]:

                    sb.moveBy(Ub.is(this) ? rb.moveBy : -rb.moveBy),

                        u.on("mouseup", fb);

                    break;

                case Wb[0]:

                    sb.prev();

                    break;

                case Xb[0]:

                    sb.next();

                    break;

                case Yb[0]:

                    sb.prevPage();

                    break;

                case Zb[0]:

                    sb.nextPage();

            }

        }



        function hb(a) {

            return (

                (dc.curDelta =

                    (rb.horizontal ? a.deltaY || a.deltaX : a.deltaY) ||

                    -a.wheelDelta),

                (dc.curDelta /= 1 === a.deltaMode ? 3 : 100),

                Rb

                    ? ((o = +new Date()),

                        dc.last < o - dc.resetTime && (dc.delta = 0),

                        (dc.last = o),

                        (dc.delta += dc.curDelta),

                        D(dc.delta) < 1

                            ? (dc.finalDelta = 0)

                            : ((dc.finalDelta = G(dc.delta / 1)),

                                (dc.delta %= 1)),

                        dc.finalDelta)

                    : dc.curDelta

            );

        }



        function ib(a) {

            a.originalEvent[r] = sb;

            var b = +new Date();

            if (

                J + rb.scrollHijack > b &&

                Sb[0] !== document &&

                Sb[0] !== window

            )

                return void (J = b);

            if (rb.scrollBy && yb.start !== yb.end) {

                var c = hb(a.originalEvent);

                (rb.scrollTrap ||

                    (c > 0 && yb.dest < yb.end) ||

                    (0 > c && yb.dest > yb.start)) &&

                    f(a, 1),

                    sb.slideBy(rb.scrollBy * c);

            }

        }



        function jb(a) {

            rb.clickBar &&

                a.target === zb[0] &&

                (f(a),

                    L(

                        $(

                            (rb.horizontal

                                ? a.pageX - zb.offset().left

                                : a.pageY - zb.offset().top) -

                            Cb / 2

                        )

                    ));

        }



        function kb(a) {

            if (rb.keyboardNavBy)

                switch (a.which) {

                    case rb.horizontal ? 37 : 38:

                        f(a),

                            sb[

                                "pages" === rb.keyboardNavBy

                                    ? "prevPage"

                                    : "prev"

                            ]();

                        break;

                    case rb.horizontal ? 39 : 40:

                        f(a),

                            sb[

                                "pages" === rb.keyboardNavBy

                                    ? "nextPage"

                                    : "next"

                            ]();

                }

        }



        function lb(a) {

            return eb(this)

                ? void (a.originalEvent[r + "ignore"] = !0)

                : void (

                    this.parentNode !== vb[0] ||

                    a.originalEvent[r + "ignore"] ||

                    sb.activate(this)

                );

        }



        function mb() {

            this.parentNode === Eb[0] && sb.activatePage(Fb.index(this));

        }



        function nb(a) {

            rb.pauseOnHover &&

                sb["mouseenter" === a.type ? "pause" : "resume"](2);

        }



        function ob(a, b) {

            if ($b[a]) {

                for (qb = $b[a].length, C.length = 0, pb = 0; qb > pb; pb++)

                    C.push($b[a][pb]);

                for (pb = 0; qb > pb; pb++) C[pb].call(sb, a, b);

            }

        }

        if (!(this instanceof d)) return new d(b, p, q);

        var pb,

            qb,

            rb = a.extend({}, d.defaults, p),

            sb = this,

            tb = i(b),

            ub = a(b),

            vb = rb.slidee ? a(rb.slidee).eq(0) : ub.children().eq(0),

            wb = 0,

            xb = 0,

            yb = {

                start: 0,

                center: 0,

                end: 0,

                cur: 0,

                dest: 0

            },

            zb = a(rb.scrollBar).eq(0),

            Ab = zb.children().eq(0),

            Bb = 0,

            Cb = 0,

            Db = {

                start: 0,

                end: 0,

                cur: 0

            },

            Eb = a(rb.pagesBar),

            Fb = 0,

            Gb = [],

            Hb = 0,

            Ib = [],

            Jb = {

                firstItem: 0,

                lastItem: 0,

                centerItem: 0,

                activeItem: null,

                activePage: 0

            },

            Kb = new l(ub[0]),

            Lb = new l(vb[0]),

            Mb = new l(zb[0]),

            Nb = new l(Ab[0]),

            Ob = "basic" === rb.itemNav,

            Pb = "forceCentered" === rb.itemNav,

            Qb = "centered" === rb.itemNav || Pb,

            Rb = !tb && (Ob || Qb || Pb),

            Sb = rb.scrollSource ? a(rb.scrollSource) : ub,

            Tb = rb.dragSource ? a(rb.dragSource) : ub,

            Ub = a(rb.forward),

            Vb = a(rb.backward),

            Wb = a(rb.prev),

            Xb = a(rb.next),

            Yb = a(rb.prevPage),

            Zb = a(rb.nextPage),

            $b = {},

            _b = {},

            ac = {},

            bc = {},

            cc = {

                released: 1

            },

            dc = {

                last: 0,

                delta: 0,

                resetTime: 200

            },

            ec = 0,

            fc = 0,

            gc = 0,

            hc = 0;

        tb || (b = ub[0]),

            (sb.initialized = 0),

            (sb.frame = b),

            (sb.slidee = vb[0]),

            (sb.pos = yb),

            (sb.rel = Jb),

            (sb.items = Ib),

            (sb.pages = Gb),

            (sb.isPaused = 0),

            (sb.options = rb),

            (sb.dragging = cc),

            (sb.reload = function () {

                K();

            }),

            (sb.getPos = function (a) {

                if (Rb) {

                    var b = R(a);

                    return -1 !== b ? Ib[b] : !1;

                }

                var c = vb.find(a).eq(0);

                if (c[0]) {

                    var d = rb.horizontal

                        ? c.offset().left - vb.offset().left

                        : c.offset().top - vb.offset().top,

                        e = c[rb.horizontal ? "outerWidth" : "outerHeight"]();

                    return {

                        start: d,

                        center: d - wb / 2 + e / 2,

                        end: d - wb + e,

                        size: e

                    };

                }

                return !1;

            }),

            (sb.moveBy = function (a) {

                (bc.speed = a),

                    !cc.init &&

                    bc.speed &&

                    yb.cur !== (bc.speed > 0 ? yb.end : yb.start) &&

                    ((bc.lastTime = +new Date()),

                        (bc.startPos = yb.cur),

                        ab("button"),

                        (cc.init = 1),

                        ob("moveStart"),

                        s(hc),

                        P());

            }),

            (sb.stop = function () {

                "button" === cc.source && ((cc.init = 0), (cc.released = 1));

            }),

            (sb.prev = function () {

                sb.activate(null == Jb.activeItem ? 0 : Jb.activeItem - 1);

            }),

            (sb.next = function () {

                sb.activate(null == Jb.activeItem ? 0 : Jb.activeItem + 1);

            }),

            (sb.prevPage = function () {

                sb.activatePage(Jb.activePage - 1);

            }),

            (sb.nextPage = function () {

                sb.activatePage(Jb.activePage + 1);

            }),

            (sb.slideBy = function (a, b) {

                a &&

                    (Rb

                        ? sb[Qb ? "toCenter" : "toStart"](

                            k(

                                (Qb ? Jb.centerItem : Jb.firstItem) +

                                rb.scrollBy * a,

                                0,

                                Ib.length

                            )

                        )

                        : L(yb.dest + a, b));

            }),

            (sb.slideTo = function (a, b) {

                L(a, b);

            }),

            (sb.toStart = function (a, b) {

                Q("start", a, b);

            }),

            (sb.toEnd = function (a, b) {

                Q("end", a, b);

            }),

            (sb.toCenter = function (a, b) {

                Q("center", a, b);

            }),

            (sb.getIndex = R),

            (sb.activate = function (a, b) {

                var c = T(a);

                rb.smart &&

                    c !== !1 &&

                    (Qb

                        ? sb.toCenter(c, b)

                        : c >= Jb.lastItem

                            ? sb.toStart(c, b)

                            : c <= Jb.firstItem

                                ? sb.toEnd(c, b)

                                : Z());

            }),

            (sb.activatePage = function (a, b) {

                i(a) && L(Gb[k(a, 0, Gb.length - 1)], b);

            }),

            (sb.resume = function (a) {

                rb.cycleBy &&

                    rb.cycleInterval &&

                    ("items" !== rb.cycleBy ||

                        (Ib[0] && null != Jb.activeItem)) &&

                    !(a < sb.isPaused) &&

                    ((sb.isPaused = 0),

                        gc ? (gc = clearTimeout(gc)) : ob("resume"),

                        (gc = setTimeout(function () {

                            switch ((ob("cycle"), rb.cycleBy)) {

                                case "items":

                                    sb.activate(

                                        Jb.activeItem >= Ib.length - 1

                                            ? 0

                                            : Jb.activeItem + 1

                                    );

                                    break;

                                case "pages":

                                    sb.activatePage(

                                        Jb.activePage >= Gb.length - 1

                                            ? 0

                                            : Jb.activePage + 1

                                    );

                            }

                        }, rb.cycleInterval)));

            }),

            (sb.pause = function (a) {

                a < sb.isPaused ||

                    ((sb.isPaused = a || 100),

                        gc && ((gc = clearTimeout(gc)), ob("pause")));

            }),

            (sb.toggle = function () {

                sb[gc ? "pause" : "resume"]();

            }),

            (sb.set = function (b, c) {

                a.isPlainObject(b)

                    ? a.extend(rb, b)

                    : rb.hasOwnProperty(b) && (rb[b] = c);

            }),

            (sb.add = function (b, c) {

                var d = a(b);

                Rb

                    ? (null == c || !Ib[0] || c >= Ib.length

                        ? d.appendTo(vb)

                        : Ib.length && d.insertBefore(Ib[c].el),

                        null != Jb.activeItem &&

                        c <= Jb.activeItem &&

                        (_b.active = Jb.activeItem += d.length))

                    : vb.append(d),

                    K();

            }),

            (sb.remove = function (b) {

                if (Rb) {

                    var c = S(b);

                    if (c > -1) {

                        Hb.eq(c).remove();

                        var d = c === Jb.activeItem;

                        null != Jb.activeItem &&

                            c < Jb.activeItem &&

                            (_b.active = --Jb.activeItem),

                            K(),

                            d &&

                            ((_b.active = null),

                                sb.activate(Jb.activeItem));

                    }

                } else a(b).remove(), K();

            }),

            (sb.moveAfter = function (a, b) {

                X(a, b, 1);

            }),

            (sb.moveBefore = function (a, b) {

                X(a, b);

            }),

            (sb.on = function (a, b) {

                if ("object" === e(a))

                    for (var c in a) a.hasOwnProperty(c) && sb.on(c, a[c]);

                else if ("function" === e(b))

                    for (var d = a.split(" "), f = 0, g = d.length; g > f; f++)

                        ($b[d[f]] = $b[d[f]] || []),

                            -1 === Y(d[f], b) && $b[d[f]].push(b);

                else if ("array" === e(b))

                    for (var h = 0, i = b.length; i > h; h++) sb.on(a, b[h]);

            }),

            (sb.one = function (a, b) {

                function c() {

                    b.apply(sb, arguments), sb.off(a, c);

                }

                sb.on(a, c);

            }),

            (sb.off = function (a, b) {

                if (b instanceof Array)

                    for (var c = 0, d = b.length; d > c; c++) sb.off(a, b[c]);

                else

                    for (var e = a.split(" "), f = 0, g = e.length; g > f; f++)

                        if ((($b[e[f]] = $b[e[f]] || []), null == b))

                            $b[e[f]].length = 0;

                        else {

                            var h = Y(e[f], b);

                            -1 !== h && $b[e[f]].splice(h, 1);

                        }

            }),

            (sb.destroy = function () {

                return (

                    d.removeInstance(b),

                    Sb.add(Ab)

                        .add(zb)

                        .add(Eb)

                        .add(Ub)

                        .add(Vb)

                        .add(Wb)

                        .add(Xb)

                        .add(Yb)

                        .add(Zb)

                        .off("." + r),

                    u.off("keydown", kb),

                    Wb.add(Xb)

                        .add(Yb)

                        .add(Zb)

                        .removeClass(rb.disabledClass),

                    Hb &&

                    null != Jb.activeItem &&

                    Hb.eq(Jb.activeItem).removeClass(rb.activeClass),

                    Eb.empty(),

                    tb ||

                    (ub.off("." + r),

                        Kb.restore(),

                        Lb.restore(),

                        Mb.restore(),

                        Nb.restore(),

                        a.removeData(b, r)),

                    (Ib.length = Gb.length = 0),

                    (_b = {}),

                    (sb.initialized = 0),

                    sb

                );

            }),

            (sb.init = function () {

                if (!sb.initialized) {

                    if (d.getInstance(b))

                        throw new Error(

                            "There is already a Sly instance on this element"

                        );

                    d.storeInstance(b, sb), sb.on(q);

                    var a = ["overflow", "position"],

                        c = [

                            "position",

                            "webkitTransform",

                            "msTransform",

                            "transform",

                            "left",

                            "top",

                            "width",

                            "height"

                        ];

                    Kb.save.apply(Kb, a),

                        Mb.save.apply(Mb, a),

                        Lb.save.apply(Lb, c),

                        Nb.save.apply(Nb, c);

                    var e = Ab;

                    return (

                        tb ||

                        ((e = e.add(vb)),

                            ub.css("overflow", "hidden"),

                            m ||

                            "static" !== ub.css("position") ||

                            ub.css("position", "relative")),

                        m

                            ? n && e.css(m, n)

                            : ("static" === zb.css("position") &&

                                zb.css("position", "relative"),

                                e.css({

                                    position: "absolute"

                                })),

                        rb.forward && Ub.on(A, gb),

                        rb.backward && Vb.on(A, gb),

                        rb.prev && Wb.on(z, gb),

                        rb.next && Xb.on(z, gb),

                        rb.prevPage && Yb.on(z, gb),

                        rb.nextPage && Zb.on(z, gb),

                        Sb.on(y, ib),

                        zb[0] && zb.on(z, jb),

                        Rb &&

                        rb.activateOn &&

                        ub.on(rb.activateOn + "." + r, "*", lb),

                        Eb[0] &&

                        rb.activatePageOn &&

                        Eb.on(rb.activatePageOn + "." + r, "*", mb),

                        Tb.on(

                            v,

                            {

                                source: "slidee"

                            },

                            bb

                        ),

                        Ab &&

                        Ab.on(

                            v,

                            {

                                source: "handle"

                            },

                            bb

                        ),

                        u.on("keydown", kb),

                        tb ||

                        (ub.on("mouseenter." + r + " mouseleave." + r, nb),

                            ub.on("scroll." + r, h)),

                        (sb.initialized = 1),

                        K(!0),

                        rb.cycleBy &&

                        !tb &&

                        sb[rb.startPaused ? "pause" : "resume"](),

                        sb

                    );

                }

            });

    }



    function e(a) {

        return null == a

            ? String(a)

            : "object" == typeof a || "function" == typeof a

                ? Object.prototype.toString

                    .call(a)

                    .match(/\s([a-z]+)/i)[1]

                    .toLowerCase() || "object"

                : typeof a;

    }



    function f(a, b) {

        a.preventDefault(), b && a.stopPropagation();

    }



    function g(b) {

        f(b, 1), a(this).off(b.type, g);

    }



    function h() {

        (this.scrollLeft = 0), (this.scrollTop = 0);

    }



    function i(a) {

        return !isNaN(parseFloat(a)) && isFinite(a);

    }



    function j(a, b) {

        return 0 | G(String(a.css(b)).replace(/[^\-0-9.]/g, ""));

    }



    function k(a, b, c) {

        return b > a ? b : a > c ? c : a;

    }



    function l(a) {

        var b = {};

        return (

            (b.style = {}),

            (b.save = function () {

                if (a && a.nodeType) {

                    for (var c = 0; c < arguments.length; c++)

                        b.style[arguments[c]] = a.style[arguments[c]];

                    return b;

                }

            }),

            (b.restore = function () {

                if (a && a.nodeType) {

                    for (var c in b.style)

                        b.style.hasOwnProperty(c) && (a.style[c] = b.style[c]);

                    return b;

                }

            }),

            b

        );

    }

    var m,

        n,

        o,

        p = "sly",

        q = "Sly",

        r = p,

        s = b.cancelAnimationFrame || b.cancelRequestAnimationFrame,

        t = b.requestAnimationFrame,

        u = a(document),

        v = "touchstart." + r + " mousedown." + r,

        w = "mousemove." + r + " mouseup." + r,

        x = "touchmove." + r + " touchend." + r,

        y =

            (document.implementation.hasFeature("Event.wheel", "3.0")

                ? "wheel."

                : "mousewheel.") + r,

        z = "click." + r,

        A = "mousedown." + r,

        B = ["INPUT", "SELECT", "BUTTON", "TEXTAREA"],

        C = [],

        D = Math.abs,

        E = Math.sqrt,

        F = Math.pow,

        G = Math.round,

        H = Math.max,

        I = Math.min,

        J = 0;

    u.on(y, function (a) {

        var b = a.originalEvent[r],

            c = +new Date();

        (!b || b.options.scrollHijack < c - J) && (J = c);

    }),

        (d.getInstance = function (b) {

            return a.data(b, r);

        }),

        (d.storeInstance = function (b, c) {

            return a.data(b, r, c);

        }),

        (d.removeInstance = function (b) {

            return a.removeData(b, r);

        }),

        (function (a) {

            function b(a) {

                var b = new Date().getTime(),

                    d = Math.max(0, 16 - (b - c)),

                    e = setTimeout(a, d);

                return (c = b), e;

            }

            t = a.requestAnimationFrame || a.webkitRequestAnimationFrame || b;

            var c = new Date().getTime(),

                d =

                    a.cancelAnimationFrame ||

                    a.webkitCancelAnimationFrame ||

                    a.clearTimeout;

            s = function (b) {

                d.call(a, b);

            };

        })(window),

        (function () {

            function a(a) {

                for (var d = 0, e = b.length; e > d; d++) {

                    var f = b[d]

                        ? b[d] + a.charAt(0).toUpperCase() + a.slice(1)

                        : a;

                    if (null != c.style[f]) return f;

                }

            }

            var b = ["", "Webkit", "Moz", "ms", "O"],

                c = document.createElement("div");

            (m = a("transform")),

                (n = a("perspective") ? "translateZ(0) " : "");

        })(),

        (b[q] = d),

        (a.fn[p] = function (b, c) {

            var f, g;

            return (

                a.isPlainObject(b) ||

                (("string" === e(b) || b === !1) &&

                    ((f = b === !1 ? "destroy" : b),

                        (g = Array.prototype.slice.call(arguments, 1))),

                    (b = {})),

                this.each(function (a, e) {

                    var h = d.getInstance(e);

                    h || f

                        ? h && f && h[f] && h[f].apply(h, g)

                        : (h = new d(e, b, c).init());

                })

            );

        }),

        (d.defaults = {

            slidee: null,

            horizontal: !1,

            itemNav: null,

            itemSelector: null,

            smart: !1,

            activateOn: null,

            activateMiddle: !1,

            scrollSource: null,

            scrollBy: 0,

            scrollHijack: 300,

            scrollTrap: !1,

            dragSource: null,

            mouseDragging: !1,

            touchDragging: !1,

            releaseSwing: 0,

            swingSpeed: 0.2,

            elasticBounds: !1,

            dragThreshold: 3,

            interactive: null,

            scrollBar: null,

            dragHandle: !1,

            dynamicHandle: !1,

            minHandleSize: 50,

            clickBar: !1,

            syncSpeed: 0.5,

            pagesBar: null,

            activatePageOn: null,

            pageBuilder: function (a) {

                return "<li>" + (a + 1) + "</li>";

            },

            forward: null,

            backward: null,

            prev: null,

            next: null,

            prevPage: null,

            nextPage: null,

            cycleBy: null,

            cycleInterval: 5e3,

            pauseOnHover: !1,

            startPaused: !1,

            moveBy: 300,

            speed: 0,

            easing: "swing",

            startAt: null,

            keyboardNavBy: null,

            draggedClass: "dragged",

            activeClass: "active",

            disabledClass: "disabled"

        });

})(jQuery, window);



/*!

 * jQuery Mousewheel 3.1.13

 *

 * Copyright 2015 jQuery Foundation and other contributors

 * Released under the MIT license.

 * http://jquery.org/license

 */

!(function (a) {

    "function" == typeof define && define.amd

        ? define(["jquery"], a)

        : "object" == typeof exports

            ? (module.exports = a)

            : a(jQuery);

})(function (a) {

    function b(b) {

        var g = b || window.event,

            h = i.call(arguments, 1),

            j = 0,

            l = 0,

            m = 0,

            n = 0,

            o = 0,

            p = 0;

        if (

            ((b = a.event.fix(g)),

                (b.type = "mousewheel"),

                "detail" in g && (m = -1 * g.detail),

                "wheelDelta" in g && (m = g.wheelDelta),

                "wheelDeltaY" in g && (m = g.wheelDeltaY),

                "wheelDeltaX" in g && (l = -1 * g.wheelDeltaX),

                "axis" in g &&

                g.axis === g.HORIZONTAL_AXIS &&

                ((l = -1 * m), (m = 0)),

                (j = 0 === m ? l : m),

                "deltaY" in g && ((m = -1 * g.deltaY), (j = m)),

                "deltaX" in g && ((l = g.deltaX), 0 === m && (j = -1 * l)),

                0 !== m || 0 !== l)

        ) {

            if (1 === g.deltaMode) {

                var q = a.data(this, "mousewheel-line-height");

                (j *= q), (m *= q), (l *= q);

            } else if (2 === g.deltaMode) {

                var r = a.data(this, "mousewheel-page-height");

                (j *= r), (m *= r), (l *= r);

            }

            if (

                ((n = Math.max(Math.abs(m), Math.abs(l))),

                    (!f || f > n) && ((f = n), d(g, n) && (f /= 40)),

                    d(g, n) && ((j /= 40), (l /= 40), (m /= 40)),

                    (j = Math[j >= 1 ? "floor" : "ceil"](j / f)),

                    (l = Math[l >= 1 ? "floor" : "ceil"](l / f)),

                    (m = Math[m >= 1 ? "floor" : "ceil"](m / f)),

                    k.settings.normalizeOffset && this.getBoundingClientRect)

            ) {

                var s = this.getBoundingClientRect();

                (o = b.clientX - s.left), (p = b.clientY - s.top);

            }

            return (

                (b.deltaX = l),

                (b.deltaY = m),

                (b.deltaFactor = f),

                (b.offsetX = o),

                (b.offsetY = p),

                (b.deltaMode = 0),

                h.unshift(b, j, l, m),

                e && clearTimeout(e),

                (e = setTimeout(c, 200)),

                (a.event.dispatch || a.event.handle).apply(this, h)

            );

        }

    }



    function c() {

        f = null;

    }



    function d(a, b) {

        return (

            k.settings.adjustOldDeltas &&

            "mousewheel" === a.type &&

            b % 120 === 0

        );

    }

    var e,

        f,

        g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"],

        h =

            "onwheel" in document || document.documentMode >= 9

                ? ["wheel"]

                : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"],

        i = Array.prototype.slice;

    if (a.event.fixHooks)

        for (var j = g.length; j;)

            a.event.fixHooks[g[--j]] = a.event.mouseHooks;

    var k = (a.event.special.mousewheel = {

        version: "3.1.12",

        setup: function () {

            if (this.addEventListener)

                for (var c = h.length; c;)

                    this.addEventListener(h[--c], b, !1);

            else this.onmousewheel = b;

            a.data(this, "mousewheel-line-height", k.getLineHeight(this)),

                a.data(this, "mousewheel-page-height", k.getPageHeight(this));

        },

        teardown: function () {

            if (this.removeEventListener)

                for (var c = h.length; c;)

                    this.removeEventListener(h[--c], b, !1);

            else this.onmousewheel = null;

            a.removeData(this, "mousewheel-line-height"),

                a.removeData(this, "mousewheel-page-height");

        },

        getLineHeight: function (b) {

            var c = a(b),

                d = c["offsetParent" in a.fn ? "offsetParent" : "parent"]();

            return (

                d.length || (d = a("body")),

                parseInt(d.css("fontSize"), 10) ||

                parseInt(c.css("fontSize"), 10) ||

                16

            );

        },



        getPageHeight: function (b) {

            return a(b).height();

        },



        settings: {

            adjustOldDeltas: !0,



            normalizeOffset: !0

        }

    });



    a.fn.extend({

        mousewheel: function (a) {

            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel");

        },



        unmousewheel: function (a) {

            return this.unbind("mousewheel", a);

        }

    });

});



/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */

/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */

!(function (a) {

    "use strict";



    function b(a) {

        var b = a.length,

            d = c.type(a);

        return (

            "function" !== d &&

            !c.isWindow(a) &&

            (!(1 !== a.nodeType || !b) ||

                ("array" === d ||

                    0 === b ||

                    ("number" == typeof b && b > 0 && b - 1 in a)))

        );

    }

    if (!a.jQuery) {

        var c = function (a, b) {

            return new c.fn.init(a, b);

        };

        (c.isWindow = function (a) {

            return a && a === a.window;

        }),

            (c.type = function (a) {

                return a

                    ? "object" == typeof a || "function" == typeof a

                        ? e[g.call(a)] || "object"

                        : typeof a

                    : a + "";

            }),

            (c.isArray =

                Array.isArray ||

                function (a) {

                    return "array" === c.type(a);

                }),

            (c.isPlainObject = function (a) {

                var b;

                if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a))

                    return !1;

                try {

                    if (

                        a.constructor &&

                        !f.call(a, "constructor") &&

                        !f.call(a.constructor.prototype, "isPrototypeOf")

                    )

                        return !1;

                } catch (d) {

                    return !1;

                }

                for (b in a);

                return b === undefined || f.call(a, b);

            }),

            (c.each = function (a, c, d) {

                var e = 0,

                    f = a.length,

                    g = b(a);

                if (d) {

                    if (g) for (; e < f && !1 !== c.apply(a[e], d); e++);

                    else

                        for (e in a)

                            if (a.hasOwnProperty(e) && !1 === c.apply(a[e], d))

                                break;

                } else if (g)

                    for (; e < f && !1 !== c.call(a[e], e, a[e]); e++);

                else

                    for (e in a)

                        if (a.hasOwnProperty(e) && !1 === c.call(a[e], e, a[e]))

                            break;

                return a;

            }),

            (c.data = function (a, b, e) {

                if (e === undefined) {

                    var f = a[c.expando],

                        g = f && d[f];

                    if (b === undefined) return g;

                    if (g && b in g) return g[b];

                } else if (b !== undefined) {

                    var h = a[c.expando] || (a[c.expando] = ++c.uuid);

                    return (d[h] = d[h] || {}), (d[h][b] = e), e;

                }

            }),

            (c.removeData = function (a, b) {

                var e = a[c.expando],

                    f = e && d[e];

                f &&

                    (b

                        ? c.each(b, function (a, b) {

                            delete f[b];

                        })

                        : delete d[e]);

            }),

            (c.extend = function () {

                var a,

                    b,

                    d,

                    e,

                    f,

                    g,

                    h = arguments[0] || {},

                    i = 1,

                    j = arguments.length,

                    k = !1;

                for (

                    "boolean" == typeof h &&

                    ((k = h), (h = arguments[i] || {}), i++),

                    "object" != typeof h &&

                    "function" !== c.type(h) &&

                    (h = {}),

                    i === j && ((h = this), i--);

                    i < j;

                    i++

                )

                    if ((f = arguments[i]))

                        for (e in f)

                            f.hasOwnProperty(e) &&

                                ((a = h[e]),

                                    (d = f[e]),

                                    h !== d &&

                                    (k &&

                                        d &&

                                        (c.isPlainObject(d) || (b = c.isArray(d)))

                                        ? (b

                                            ? ((b = !1),

                                                (g =

                                                    a && c.isArray(a) ? a : []))

                                            : (g =

                                                a && c.isPlainObject(a)

                                                    ? a

                                                    : {}),

                                            (h[e] = c.extend(k, g, d)))

                                        : d !== undefined && (h[e] = d)));

                return h;

            }),

            (c.queue = function (a, d, e) {

                if (a) {

                    d = (d || "fx") + "queue";

                    var f = c.data(a, d);

                    return e

                        ? (!f || c.isArray(e)

                            ? (f = c.data(

                                a,

                                d,

                                (function (a, c) {

                                    var d = c || [];

                                    return (

                                        a &&

                                        (b(Object(a))

                                            ? (function (a, b) {

                                                for (

                                                    var c = +b.length,

                                                    d = 0,

                                                    e = a.length;

                                                    d < c;



                                                )

                                                    a[e++] = b[d++];

                                                if (c !== c)

                                                    for (

                                                        ;

                                                        b[d] !==

                                                        undefined;



                                                    )

                                                        a[e++] =

                                                            b[d++];

                                                a.length = e;

                                            })(

                                                d,

                                                "string" == typeof a

                                                    ? [a]

                                                    : a

                                            )

                                            : [].push.call(d, a)),

                                        d

                                    );

                                })(e)

                            ))

                            : f.push(e),

                            f)

                        : f || [];

                }

            }),

            (c.dequeue = function (a, b) {

                c.each(a.nodeType ? [a] : a, function (a, d) {

                    b = b || "fx";

                    var e = c.queue(d, b),

                        f = e.shift();

                    "inprogress" === f && (f = e.shift()),

                        f &&

                        ("fx" === b && e.unshift("inprogress"),

                            f.call(d, function () {

                                c.dequeue(d, b);

                            }));

                });

            }),

            (c.fn = c.prototype = {

                init: function (a) {

                    if (a.nodeType) return (this[0] = a), this;

                    throw new Error("Not a DOM node.");

                },

                offset: function () {

                    var b = this[0].getBoundingClientRect

                        ? this[0].getBoundingClientRect()

                        : {

                            top: 0,

                            left: 0

                        };

                    return {

                        top:

                            b.top +

                            (a.pageYOffset || document.scrollTop || 0) -

                            (document.clientTop || 0),

                        left:

                            b.left +

                            (a.pageXOffset || document.scrollLeft || 0) -

                            (document.clientLeft || 0)

                    };

                },

                position: function () {

                    var a = this[0],

                        b = (function (a) {

                            for (

                                var b = a.offsetParent;

                                b &&

                                "html" !== b.nodeName.toLowerCase() &&

                                b.style &&

                                "static" === b.style.position.toLowerCase();



                            )

                                b = b.offsetParent;

                            return b || document;

                        })(a),

                        d = this.offset(),

                        e = /^(?:body|html)$/i.test(b.nodeName)

                            ? {

                                top: 0,

                                left: 0

                            }

                            : c(b).offset();

                    return (

                        (d.top -= parseFloat(a.style.marginTop) || 0),

                        (d.left -= parseFloat(a.style.marginLeft) || 0),

                        b.style &&

                        ((e.top += parseFloat(b.style.borderTopWidth) || 0),

                            (e.left +=

                                parseFloat(b.style.borderLeftWidth) || 0)),

                        {

                            top: d.top - e.top,

                            left: d.left - e.left

                        }

                    );

                }

            });

        var d = {};

        (c.expando = "velocity" + new Date().getTime()), (c.uuid = 0);

        for (

            var e = {},

            f = e.hasOwnProperty,

            g = e.toString,

            h = "Boolean Number String Function Array Date RegExp Object Error".split(

                " "

            ),

            i = 0;

            i < h.length;

            i++

        )

            e["[object " + h[i] + "]"] = h[i].toLowerCase();

        (c.fn.init.prototype = c.fn),

            (a.Velocity = {

                Utilities: c

            });

    }

})(window),

    (function (a) {

        "use strict";

        "object" == typeof module && "object" == typeof module.exports

            ? (module.exports = a())

            : "function" == typeof define && define.amd

                ? define(a)

                : a();

    })(function () {

        "use strict";

        return (function (a, b, c, d) {

            function e(a) {

                for (var b = -1, c = a ? a.length : 0, d = []; ++b < c;) {

                    var e = a[b];

                    e && d.push(e);

                }

                return d;

            }



            function f(a) {

                return (

                    u.isWrapped(a) ? (a = s.call(a)) : u.isNode(a) && (a = [a]),

                    a

                );

            }



            function g(a) {

                var b = o.data(a, "velocity");

                return null === b ? d : b;

            }



            function h(a, b) {

                var c = g(a);

                c &&

                    c.delayTimer &&

                    !c.delayPaused &&

                    ((c.delayRemaining = c.delay - b + c.delayBegin),

                        (c.delayPaused = !0),

                        clearTimeout(c.delayTimer.setTimeout));

            }



            function i(a, b) {

                var c = g(a);

                c &&

                    c.delayTimer &&

                    c.delayPaused &&

                    ((c.delayPaused = !1),

                        (c.delayTimer.setTimeout = setTimeout(

                            c.delayTimer.next,

                            c.delayRemaining

                        )));

            }



            function j(a) {

                return function (b) {

                    return Math.round(b * a) * (1 / a);

                };

            }



            function k(a, c, d, e) {

                function f(a, b) {

                    return 1 - 3 * b + 3 * a;

                }



                function g(a, b) {

                    return 3 * b - 6 * a;

                }



                function h(a) {

                    return 3 * a;

                }



                function i(a, b, c) {

                    return ((f(b, c) * a + g(b, c)) * a + h(b)) * a;

                }



                function j(a, b, c) {

                    return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b);

                }



                function k(b, c) {

                    for (var e = 0; e < p; ++e) {

                        var f = j(c, a, d);

                        if (0 === f) return c;

                        c -= (i(c, a, d) - b) / f;

                    }

                    return c;

                }



                function l() {

                    for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d);

                }



                function m(b, c, e) {

                    var f,

                        g,

                        h = 0;

                    do {

                        (g = c + (e - c) / 2),

                            (f = i(g, a, d) - b),

                            f > 0 ? (e = g) : (c = g);

                    } while (Math.abs(f) > r && ++h < s);

                    return g;

                }



                function n(b) {

                    for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e)

                        c += u;

                    --e;

                    var g = (b - x[e]) / (x[e + 1] - x[e]),

                        h = c + g * u,

                        i = j(h, a, d);

                    return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u);

                }



                function o() {

                    (y = !0), (a === c && d === e) || l();

                }

                var p = 4,

                    q = 0.001,

                    r = 1e-7,

                    s = 10,

                    t = 11,

                    u = 1 / (t - 1),

                    v = "Float32Array" in b;

                if (4 !== arguments.length) return !1;

                for (var w = 0; w < 4; ++w)

                    if (

                        "number" != typeof arguments[w] ||

                        isNaN(arguments[w]) ||

                        !isFinite(arguments[w])

                    )

                        return !1;

                (a = Math.min(a, 1)),

                    (d = Math.min(d, 1)),

                    (a = Math.max(a, 0)),

                    (d = Math.max(d, 0));

                var x = v ? new Float32Array(t) : new Array(t),

                    y = !1,

                    z = function (b) {

                        return (

                            y || o(),

                            a === c && d === e

                                ? b

                                : 0 === b

                                    ? 0

                                    : 1 === b

                                        ? 1

                                        : i(n(b), c, e)

                        );

                    };

                z.getControlPoints = function () {

                    return [

                        {

                            x: a,

                            y: c

                        },

                        {

                            x: d,

                            y: e

                        }

                    ];

                };

                var A = "generateBezier(" + [a, c, d, e] + ")";

                return (

                    (z.toString = function () {

                        return A;

                    }),

                    z

                );

            }



            function l(a, b) {

                var c = a;

                return (

                    u.isString(a)

                        ? y.Easings[a] || (c = !1)

                        : (c =

                            u.isArray(a) && 1 === a.length

                                ? j.apply(null, a)

                                : u.isArray(a) && 2 === a.length

                                    ? z.apply(null, a.concat([b]))

                                    : !(!u.isArray(a) || 4 !== a.length) &&

                                    k.apply(null, a)),

                    !1 === c &&

                    (c = y.Easings[y.defaults.easing]

                        ? y.defaults.easing

                        : x),

                    c

                );

            }



            function m(a) {

                if (a) {

                    var b = y.timestamp && !0 !== a ? a : r.now(),

                        c = y.State.calls.length;

                    c > 1e4 &&

                        ((y.State.calls = e(y.State.calls)),

                            (c = y.State.calls.length));

                    for (var f = 0; f < c; f++)

                        if (y.State.calls[f]) {

                            var h = y.State.calls[f],

                                i = h[0],

                                j = h[2],

                                k = h[3],

                                l = !k,

                                q = null,

                                s = h[5],

                                t = h[6];

                            if ((k || (k = y.State.calls[f][3] = b - 16), s)) {

                                if (!0 !== s.resume) continue;

                                (k = h[3] = Math.round(b - t - 16)),

                                    (h[5] = null);

                            }

                            t = h[6] = b - k;

                            for (

                                var v = Math.min(t / j.duration, 1),

                                w = 0,

                                x = i.length;

                                w < x;

                                w++

                            ) {

                                var z = i[w],

                                    B = z.element;

                                if (g(B)) {

                                    var D = !1;

                                    if (

                                        j.display !== d &&

                                        null !== j.display &&

                                        "none" !== j.display

                                    ) {

                                        if ("flex" === j.display) {

                                            var E = [

                                                "-webkit-box",

                                                "-moz-box",

                                                "-ms-flexbox",

                                                "-webkit-flex"

                                            ];

                                            o.each(E, function (a, b) {

                                                A.setPropertyValue(

                                                    B,

                                                    "display",

                                                    b

                                                );

                                            });

                                        }

                                        A.setPropertyValue(

                                            B,

                                            "display",

                                            j.display

                                        );

                                    }

                                    j.visibility !== d &&

                                        "hidden" !== j.visibility &&

                                        A.setPropertyValue(

                                            B,

                                            "visibility",

                                            j.visibility

                                        );

                                    for (var F in z)

                                        if (

                                            z.hasOwnProperty(F) &&

                                            "element" !== F

                                        ) {

                                            var G,

                                                H = z[F],

                                                I = u.isString(H.easing)

                                                    ? y.Easings[H.easing]

                                                    : H.easing;

                                            if (u.isString(H.pattern)) {

                                                var J =

                                                    1 === v

                                                        ? function (a, b, c) {

                                                            var d =

                                                                H.endValue[b];

                                                            return c

                                                                ? Math.round(

                                                                    d

                                                                )

                                                                : d;

                                                        }

                                                        : function (a, b, c) {

                                                            var d =

                                                                H

                                                                    .startValue[

                                                                b

                                                                ],

                                                                e =

                                                                    H

                                                                        .endValue[

                                                                    b

                                                                    ] - d,

                                                                f =

                                                                    d +

                                                                    e *

                                                                    I(

                                                                        v,

                                                                        j,

                                                                        e

                                                                    );

                                                            return c

                                                                ? Math.round(

                                                                    f

                                                                )

                                                                : f;

                                                        };

                                                G = H.pattern.replace(

                                                    /{(\d+)(!)?}/g,

                                                    J

                                                );

                                            } else if (1 === v) G = H.endValue;

                                            else {

                                                var K =

                                                    H.endValue - H.startValue;

                                                G =

                                                    H.startValue +

                                                    K * I(v, j, K);

                                            }

                                            if (!l && G === H.currentValue)

                                                continue;

                                            if (

                                                ((H.currentValue = G),

                                                    "tween" === F)

                                            )

                                                q = G;

                                            else {

                                                var L;

                                                if (A.Hooks.registered[F]) {

                                                    L = A.Hooks.getRoot(F);

                                                    var M = g(B)

                                                        .rootPropertyValueCache[

                                                        L

                                                    ];

                                                    M &&

                                                        (H.rootPropertyValue = M);

                                                }

                                                var N = A.setPropertyValue(

                                                    B,

                                                    F,

                                                    H.currentValue +

                                                    (p < 9 &&

                                                        0 === parseFloat(G)

                                                        ? ""

                                                        : H.unitType),

                                                    H.rootPropertyValue,

                                                    H.scrollData

                                                );

                                                A.Hooks.registered[F] &&

                                                    (A.Normalizations

                                                        .registered[L]

                                                        ? (g(

                                                            B

                                                        ).rootPropertyValueCache[

                                                            L

                                                        ] = A.Normalizations.registered[

                                                            L

                                                        ](

                                                            "extract",

                                                            null,

                                                            N[1]

                                                        ))

                                                        : (g(

                                                            B

                                                        ).rootPropertyValueCache[

                                                            L

                                                        ] = N[1])),

                                                    "transform" === N[0] &&

                                                    (D = !0);

                                            }

                                        }

                                    j.mobileHA &&

                                        g(B).transformCache.translate3d === d &&

                                        ((g(B).transformCache.translate3d =

                                            "(0px, 0px, 0px)"),

                                            (D = !0)),

                                        D && A.flushTransformCache(B);

                                }

                            }

                            j.display !== d &&

                                "none" !== j.display &&

                                (y.State.calls[f][2].display = !1),

                                j.visibility !== d &&

                                "hidden" !== j.visibility &&

                                (y.State.calls[f][2].visibility = !1),

                                j.progress &&

                                j.progress.call(

                                    h[1],

                                    h[1],

                                    v,

                                    Math.max(0, k + j.duration - b),

                                    k,

                                    q

                                ),

                                1 === v && n(f);

                        }

                }

                y.State.isTicking && C(m);

            }



            function n(a, b) {

                if (!y.State.calls[a]) return !1;

                for (

                    var c = y.State.calls[a][0],

                    e = y.State.calls[a][1],

                    f = y.State.calls[a][2],

                    h = y.State.calls[a][4],

                    i = !1,

                    j = 0,

                    k = c.length;

                    j < k;

                    j++

                ) {

                    var l = c[j].element;

                    b ||

                        f.loop ||

                        ("none" === f.display &&

                            A.setPropertyValue(l, "display", f.display),

                            "hidden" === f.visibility &&

                            A.setPropertyValue(l, "visibility", f.visibility));

                    var m = g(l);

                    if (

                        !0 !== f.loop &&

                        (o.queue(l)[1] === d ||

                            !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) &&

                        m

                    ) {

                        (m.isAnimating = !1), (m.rootPropertyValueCache = {});

                        var n = !1;

                        o.each(A.Lists.transforms3D, function (a, b) {

                            var c = /^scale/.test(b) ? 1 : 0,

                                e = m.transformCache[b];

                            m.transformCache[b] !== d &&

                                new RegExp("^\\(" + c + "[^.]").test(e) &&

                                ((n = !0), delete m.transformCache[b]);

                        }),

                            f.mobileHA &&

                            ((n = !0), delete m.transformCache.translate3d),

                            n && A.flushTransformCache(l),

                            A.Values.removeClass(l, "velocity-animating");

                    }

                    if (!b && f.complete && !f.loop && j === k - 1)

                        try {

                            f.complete.call(e, e);

                        } catch (r) {

                            setTimeout(function () {

                                throw r;

                            }, 1);

                        }

                    h && !0 !== f.loop && h(e),

                        m &&

                        !0 === f.loop &&

                        !b &&

                        (o.each(m.tweensContainer, function (a, b) {

                            if (

                                /^rotate/.test(a) &&

                                (parseFloat(b.startValue) -

                                    parseFloat(b.endValue)) %

                                360 ==

                                0

                            ) {

                                var c = b.startValue;

                                (b.startValue = b.endValue),

                                    (b.endValue = c);

                            }

                            /^backgroundPosition/.test(a) &&

                                100 === parseFloat(b.endValue) &&

                                "%" === b.unitType &&

                                ((b.endValue = 0), (b.startValue = 100));

                        }),

                            y(l, "reverse", {

                                loop: !0,

                                delay: f.delay

                            })),

                        !1 !== f.queue && o.dequeue(l, f.queue);

                }

                y.State.calls[a] = !1;

                for (var p = 0, q = y.State.calls.length; p < q; p++)

                    if (!1 !== y.State.calls[p]) {

                        i = !0;

                        break;

                    }

                !1 === i &&

                    ((y.State.isTicking = !1),

                        delete y.State.calls,

                        (y.State.calls = []));

            }

            var o,

                p = (function () {

                    if (c.documentMode) return c.documentMode;

                    for (var a = 7; a > 4; a--) {

                        var b = c.createElement("div");

                        if (

                            ((b.innerHTML =

                                "\x3c!--[if IE " +

                                a +

                                "]><span></span><![endif]--\x3e"),

                                b.getElementsByTagName("span").length)

                        )

                            return (b = null), a;

                    }

                    return d;

                })(),

                q = (function () {

                    var a = 0;

                    return (

                        b.webkitRequestAnimationFrame ||

                        b.mozRequestAnimationFrame ||

                        function (b) {

                            var c,

                                d = new Date().getTime();

                            return (

                                (c = Math.max(0, 16 - (d - a))),

                                (a = d + c),

                                setTimeout(function () {

                                    b(d + c);

                                }, c)

                            );

                        }

                    );

                })(),

                r = (function () {

                    var a = b.performance || {};

                    if ("function" != typeof a.now) {

                        var c =

                            a.timing && a.timing.navigationStart

                                ? a.timing.navigationStart

                                : new Date().getTime();

                        a.now = function () {

                            return new Date().getTime() - c;

                        };

                    }

                    return a;

                })(),

                s = (function () {

                    var a = Array.prototype.slice;

                    try {

                        return a.call(c.documentElement), a;

                    } catch (b) {

                        return function (b, c) {

                            var d = this.length;

                            if (

                                ("number" != typeof b && (b = 0),

                                    "number" != typeof c && (c = d),

                                    this.slice)

                            )

                                return a.call(this, b, c);

                            var e,

                                f = [],

                                g = b >= 0 ? b : Math.max(0, d + b),

                                h = c < 0 ? d + c : Math.min(c, d),

                                i = h - g;

                            if (i > 0)

                                if (((f = new Array(i)), this.charAt))

                                    for (e = 0; e < i; e++)

                                        f[e] = this.charAt(g + e);

                                else for (e = 0; e < i; e++) f[e] = this[g + e];

                            return f;

                        };

                    }

                })(),

                t = function () {

                    return Array.prototype.includes

                        ? function (a, b) {

                            return a.includes(b);

                        }

                        : Array.prototype.indexOf

                            ? function (a, b) {

                                return a.indexOf(b) >= 0;

                            }

                            : function (a, b) {

                                for (var c = 0; c < a.length; c++)

                                    if (a[c] === b) return !0;

                                return !1;

                            };

                },

                u = {

                    isNumber: function (a) {

                        return "number" == typeof a;

                    },

                    isString: function (a) {

                        return "string" == typeof a;

                    },

                    isArray:

                        Array.isArray ||

                        function (a) {

                            return (

                                "[object Array]" ===

                                Object.prototype.toString.call(a)

                            );

                        },

                    isFunction: function (a) {

                        return (

                            "[object Function]" ===

                            Object.prototype.toString.call(a)

                        );

                    },

                    isNode: function (a) {

                        return a && a.nodeType;

                    },

                    isWrapped: function (a) {

                        return (

                            a &&

                            a !== b &&

                            u.isNumber(a.length) &&

                            !u.isString(a) &&

                            !u.isFunction(a) &&

                            !u.isNode(a) &&

                            (0 === a.length || u.isNode(a[0]))

                        );

                    },

                    isSVG: function (a) {

                        return b.SVGElement && a instanceof b.SVGElement;

                    },

                    isEmptyObject: function (a) {

                        for (var b in a) if (a.hasOwnProperty(b)) return !1;

                        return !0;

                    }

                },

                v = !1;

            if (

                (a.fn && a.fn.jquery

                    ? ((o = a), (v = !0))

                    : (o = b.Velocity.Utilities),

                    p <= 8 && !v)

            )

                throw new Error(

                    "Velocity: IE8 and below require jQuery to be loaded before Velocity."

                );

            if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate);

            var w = 400,

                x = "swing",

                y = {

                    State: {

                        isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(

                            b.navigator.userAgent

                        ),

                        isAndroid: /Android/i.test(b.navigator.userAgent),

                        isGingerbread: /Android 2\.3\.[3-7]/i.test(

                            b.navigator.userAgent

                        ),

                        isChrome: b.chrome,

                        isFirefox: /Firefox/i.test(b.navigator.userAgent),

                        prefixElement: c.createElement("div"),

                        prefixMatches: {},

                        scrollAnchor: null,

                        scrollPropertyLeft: null,

                        scrollPropertyTop: null,

                        isTicking: !1,

                        calls: [],

                        delayedElements: {

                            count: 0

                        }

                    },

                    CSS: {},

                    Utilities: o,

                    Redirects: {},

                    Easings: {},

                    Promise: b.Promise,

                    defaults: {

                        queue: "",

                        duration: w,

                        easing: x,

                        begin: d,

                        complete: d,

                        progress: d,

                        display: d,

                        visibility: d,

                        loop: !1,

                        delay: !1,

                        mobileHA: !0,

                        _cacheValues: !0,

                        promiseRejectEmpty: !0

                    },

                    init: function (a) {

                        o.data(a, "velocity", {

                            isSVG: u.isSVG(a),

                            isAnimating: !1,

                            computedStyle: null,

                            tweensContainer: null,

                            rootPropertyValueCache: {},

                            transformCache: {}

                        });

                    },

                    hook: null,

                    mock: !1,

                    version: {

                        major: 1,

                        minor: 5,

                        patch: 1

                    },

                    debug: !1,

                    timestamp: !0,

                    pauseAll: function (a) {

                        var b = new Date().getTime();

                        o.each(y.State.calls, function (b, c) {

                            if (c) {

                                if (

                                    a !== d &&

                                    (c[2].queue !== a || !1 === c[2].queue)

                                )

                                    return !0;

                                c[5] = {

                                    resume: !1

                                };

                            }

                        }),

                            o.each(y.State.delayedElements, function (a, c) {

                                c && h(c, b);

                            });

                    },

                    resumeAll: function (a) {

                        var b = new Date().getTime();

                        o.each(y.State.calls, function (b, c) {

                            if (c) {

                                if (

                                    a !== d &&

                                    (c[2].queue !== a || !1 === c[2].queue)

                                )

                                    return !0;

                                c[5] && (c[5].resume = !0);

                            }

                        }),

                            o.each(y.State.delayedElements, function (a, c) {

                                c && i(c, b);

                            });

                    }

                };

            b.pageYOffset !== d

                ? ((y.State.scrollAnchor = b),

                    (y.State.scrollPropertyLeft = "pageXOffset"),

                    (y.State.scrollPropertyTop = "pageYOffset"))

                : ((y.State.scrollAnchor =

                    c.documentElement || c.body.parentNode || c.body),

                    (y.State.scrollPropertyLeft = "scrollLeft"),

                    (y.State.scrollPropertyTop = "scrollTop"));

            var z = (function () {

                function a(a) {

                    return -a.tension * a.x - a.friction * a.v;

                }



                function b(b, c, d) {

                    var e = {

                        x: b.x + d.dx * c,

                        v: b.v + d.dv * c,

                        tension: b.tension,

                        friction: b.friction

                    };

                    return {

                        dx: e.v,

                        dv: a(e)

                    };

                }



                function c(c, d) {

                    var e = {

                        dx: c.v,

                        dv: a(c)

                    },

                        f = b(c, 0.5 * d, e),

                        g = b(c, 0.5 * d, f),

                        h = b(c, d, g),

                        i = (1 / 6) * (e.dx + 2 * (f.dx + g.dx) + h.dx),

                        j = (1 / 6) * (e.dv + 2 * (f.dv + g.dv) + h.dv);

                    return (c.x = c.x + i * d), (c.v = c.v + j * d), c;

                }

                return function d(a, b, e) {

                    var f,

                        g,

                        h,

                        i = {

                            x: -1,

                            v: 0,

                            tension: null,

                            friction: null

                        },

                        j = [0],

                        k = 0;

                    for (

                        a = parseFloat(a) || 500,

                        b = parseFloat(b) || 20,

                        e = e || null,

                        i.tension = a,

                        i.friction = b,

                        f = null !== e,

                        f

                            ? ((k = d(a, b)), (g = (k / e) * 0.016))

                            : (g = 0.016);

                        ;



                    )

                        if (

                            ((h = c(h || i, g)),

                                j.push(1 + h.x),

                                (k += 16),

                                !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4))

                        )

                            break;

                    return f

                        ? function (a) {

                            return j[(a * (j.length - 1)) | 0];

                        }

                        : k;

                };

            })();

            (y.Easings = {

                linear: function (a) {

                    return a;

                },

                swing: function (a) {

                    return 0.5 - Math.cos(a * Math.PI) / 2;

                },

                spring: function (a) {

                    return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a);

                }

            }),

                o.each(

                    [

                        ["ease", [0.25, 0.1, 0.25, 1]],

                        ["ease-in", [0.42, 0, 1, 1]],

                        ["ease-out", [0, 0, 0.58, 1]],

                        ["ease-in-out", [0.42, 0, 0.58, 1]],

                        ["easeInSine", [0.47, 0, 0.745, 0.715]],

                        ["easeOutSine", [0.39, 0.575, 0.565, 1]],

                        ["easeInOutSine", [0.445, 0.05, 0.55, 0.95]],

                        ["easeInQuad", [0.55, 0.085, 0.68, 0.53]],

                        ["easeOutQuad", [0.25, 0.46, 0.45, 0.94]],

                        ["easeInOutQuad", [0.455, 0.03, 0.515, 0.955]],

                        ["easeInCubic", [0.55, 0.055, 0.675, 0.19]],

                        ["easeOutCubic", [0.215, 0.61, 0.355, 1]],

                        ["easeInOutCubic", [0.645, 0.045, 0.355, 1]],

                        ["easeInQuart", [0.895, 0.03, 0.685, 0.22]],

                        ["easeOutQuart", [0.165, 0.84, 0.44, 1]],

                        ["easeInOutQuart", [0.77, 0, 0.175, 1]],

                        ["easeInQuint", [0.755, 0.05, 0.855, 0.06]],

                        ["easeOutQuint", [0.23, 1, 0.32, 1]],

                        ["easeInOutQuint", [0.86, 0, 0.07, 1]],

                        ["easeInExpo", [0.95, 0.05, 0.795, 0.035]],

                        ["easeOutExpo", [0.19, 1, 0.22, 1]],

                        ["easeInOutExpo", [1, 0, 0, 1]],

                        ["easeInCirc", [0.6, 0.04, 0.98, 0.335]],

                        ["easeOutCirc", [0.075, 0.82, 0.165, 1]],

                        ["easeInOutCirc", [0.785, 0.135, 0.15, 0.86]]

                    ],

                    function (a, b) {

                        y.Easings[b[0]] = k.apply(null, b[1]);

                    }

                );

            var A = (y.CSS = {

                RegEx: {

                    isHex: /^#([A-f\d]{3}){1,2}$/i,

                    valueUnwrap: /^[A-z]+\((.*)\)$/i,

                    wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,

                    valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi

                },

                Lists: {

                    colors: [

                        "fill",

                        "stroke",

                        "stopColor",

                        "color",

                        "backgroundColor",

                        "borderColor",

                        "borderTopColor",

                        "borderRightColor",

                        "borderBottomColor",

                        "borderLeftColor",

                        "outlineColor"

                    ],

                    transformsBase: [

                        "translateX",

                        "translateY",

                        "scale",

                        "scaleX",

                        "scaleY",

                        "skewX",

                        "skewY",

                        "rotateZ"

                    ],

                    transforms3D: [

                        "transformPerspective",

                        "translateZ",

                        "scaleZ",

                        "rotateX",

                        "rotateY"

                    ],

                    units: [

                        "%",

                        "em",

                        "ex",

                        "ch",

                        "rem",

                        "vw",

                        "vh",

                        "vmin",

                        "vmax",

                        "cm",

                        "mm",

                        "Q",

                        "in",

                        "pc",

                        "pt",

                        "px",

                        "deg",

                        "grad",

                        "rad",

                        "turn",

                        "s",

                        "ms"

                    ],

                    colorNames: {

                        aliceblue: "240,248,255",

                        antiquewhite: "250,235,215",

                        aquamarine: "127,255,212",

                        aqua: "0,255,255",

                        azure: "240,255,255",

                        beige: "245,245,220",

                        bisque: "255,228,196",

                        black: "0,0,0",

                        blanchedalmond: "255,235,205",

                        blueviolet: "138,43,226",

                        blue: "0,0,255",

                        brown: "165,42,42",

                        burlywood: "222,184,135",

                        cadetblue: "95,158,160",

                        chartreuse: "127,255,0",

                        chocolate: "210,105,30",

                        coral: "255,127,80",

                        cornflowerblue: "100,149,237",

                        cornsilk: "255,248,220",

                        crimson: "220,20,60",

                        cyan: "0,255,255",

                        darkblue: "0,0,139",

                        darkcyan: "0,139,139",

                        darkgoldenrod: "184,134,11",

                        darkgray: "169,169,169",

                        darkgrey: "169,169,169",

                        darkgreen: "0,100,0",

                        darkkhaki: "189,183,107",

                        darkmagenta: "139,0,139",

                        darkolivegreen: "85,107,47",

                        darkorange: "255,140,0",

                        darkorchid: "153,50,204",

                        darkred: "139,0,0",

                        darksalmon: "233,150,122",

                        darkseagreen: "143,188,143",

                        darkslateblue: "72,61,139",

                        darkslategray: "47,79,79",

                        darkturquoise: "0,206,209",

                        darkviolet: "148,0,211",

                        deeppink: "255,20,147",

                        deepskyblue: "0,191,255",

                        dimgray: "105,105,105",

                        dimgrey: "105,105,105",

                        dodgerblue: "30,144,255",

                        firebrick: "178,34,34",

                        floralwhite: "255,250,240",

                        forestgreen: "34,139,34",

                        fuchsia: "255,0,255",

                        gainsboro: "220,220,220",

                        ghostwhite: "248,248,255",

                        gold: "255,215,0",

                        goldenrod: "218,165,32",

                        gray: "128,128,128",

                        grey: "128,128,128",

                        greenyellow: "173,255,47",

                        green: "0,128,0",

                        honeydew: "240,255,240",

                        hotpink: "255,105,180",

                        indianred: "205,92,92",

                        indigo: "75,0,130",

                        ivory: "255,255,240",

                        khaki: "240,230,140",

                        lavenderblush: "255,240,245",

                        lavender: "230,230,250",

                        lawngreen: "124,252,0",

                        lemonchiffon: "255,250,205",

                        lightblue: "173,216,230",

                        lightcoral: "240,128,128",

                        lightcyan: "224,255,255",

                        lightgoldenrodyellow: "250,250,210",

                        lightgray: "211,211,211",

                        lightgrey: "211,211,211",

                        lightgreen: "144,238,144",

                        lightpink: "255,182,193",

                        lightsalmon: "255,160,122",

                        lightseagreen: "32,178,170",

                        lightskyblue: "135,206,250",

                        lightslategray: "119,136,153",

                        lightsteelblue: "176,196,222",

                        lightyellow: "255,255,224",

                        limegreen: "50,205,50",

                        lime: "0,255,0",

                        linen: "250,240,230",

                        magenta: "255,0,255",

                        maroon: "128,0,0",

                        mediumaquamarine: "102,205,170",

                        mediumblue: "0,0,205",

                        mediumorchid: "186,85,211",

                        mediumpurple: "147,112,219",

                        mediumseagreen: "60,179,113",

                        mediumslateblue: "123,104,238",

                        mediumspringgreen: "0,250,154",

                        mediumturquoise: "72,209,204",

                        mediumvioletred: "199,21,133",

                        midnightblue: "25,25,112",

                        mintcream: "245,255,250",

                        mistyrose: "255,228,225",

                        moccasin: "255,228,181",

                        navajowhite: "255,222,173",

                        navy: "0,0,128",

                        oldlace: "253,245,230",

                        olivedrab: "107,142,35",

                        olive: "128,128,0",

                        orangered: "255,69,0",

                        orange: "255,165,0",

                        orchid: "218,112,214",

                        palegoldenrod: "238,232,170",

                        palegreen: "152,251,152",

                        paleturquoise: "175,238,238",

                        palevioletred: "219,112,147",

                        papayawhip: "255,239,213",

                        peachpuff: "255,218,185",

                        peru: "205,133,63",

                        pink: "255,192,203",

                        plum: "221,160,221",

                        powderblue: "176,224,230",

                        purple: "128,0,128",

                        red: "255,0,0",

                        rosybrown: "188,143,143",

                        royalblue: "65,105,225",

                        saddlebrown: "139,69,19",

                        salmon: "250,128,114",

                        sandybrown: "244,164,96",

                        seagreen: "46,139,87",

                        seashell: "255,245,238",

                        sienna: "160,82,45",

                        silver: "192,192,192",

                        skyblue: "135,206,235",

                        slateblue: "106,90,205",

                        slategray: "112,128,144",

                        snow: "255,250,250",

                        springgreen: "0,255,127",

                        steelblue: "70,130,180",

                        tan: "210,180,140",

                        teal: "0,128,128",

                        thistle: "216,191,216",

                        tomato: "255,99,71",

                        turquoise: "64,224,208",

                        violet: "238,130,238",

                        wheat: "245,222,179",

                        whitesmoke: "245,245,245",

                        white: "255,255,255",

                        yellowgreen: "154,205,50",

                        yellow: "255,255,0"

                    }

                },

                Hooks: {

                    templates: {

                        textShadow: ["Color X Y Blur", "black 0px 0px 0px"],

                        boxShadow: [

                            "Color X Y Blur Spread",

                            "black 0px 0px 0px 0px"

                        ],

                        clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],

                        backgroundPosition: ["X Y", "0% 0%"],

                        transformOrigin: ["X Y Z", "50% 50% 0px"],

                        perspectiveOrigin: ["X Y", "50% 50%"]

                    },

                    registered: {},

                    register: function () {

                        for (var a = 0; a < A.Lists.colors.length; a++) {

                            var b =

                                "color" === A.Lists.colors[a]

                                    ? "0 0 0 1"

                                    : "255 255 255 1";

                            A.Hooks.templates[A.Lists.colors[a]] = [

                                "Red Green Blue Alpha",

                                b

                            ];

                        }

                        var c, d, e;

                        if (p)

                            for (c in A.Hooks.templates)

                                if (A.Hooks.templates.hasOwnProperty(c)) {

                                    (d = A.Hooks.templates[c]),

                                        (e = d[0].split(" "));

                                    var f = d[1].match(A.RegEx.valueSplit);

                                    "Color" === e[0] &&

                                        (e.push(e.shift()),

                                            f.push(f.shift()),

                                            (A.Hooks.templates[c] = [

                                                e.join(" "),

                                                f.join(" ")

                                            ]));

                                }

                        for (c in A.Hooks.templates)

                            if (A.Hooks.templates.hasOwnProperty(c)) {

                                (d = A.Hooks.templates[c]),

                                    (e = d[0].split(" "));

                                for (var g in e)

                                    if (e.hasOwnProperty(g)) {

                                        var h = c + e[g],

                                            i = g;

                                        A.Hooks.registered[h] = [c, i];

                                    }

                            }

                    },

                    getRoot: function (a) {

                        var b = A.Hooks.registered[a];

                        return b ? b[0] : a;

                    },

                    getUnit: function (a, b) {

                        var c =

                            (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] ||

                            "";

                        return c && t(A.Lists.units, c) ? c : "";

                    },

                    fixColors: function (a) {

                        return a.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function (

                            a,

                            b,

                            c

                        ) {

                            return A.Lists.colorNames.hasOwnProperty(c)

                                ? (b || "rgba(") +

                                A.Lists.colorNames[c] +

                                (b ? "" : ",1)")

                                : b + c;

                        });

                    },

                    cleanRootPropertyValue: function (a, b) {

                        return (

                            A.RegEx.valueUnwrap.test(b) &&

                            (b = b.match(A.RegEx.valueUnwrap)[1]),

                            A.Values.isCSSNullValue(b) &&

                            (b = A.Hooks.templates[a][1]),

                            b

                        );

                    },

                    extractValue: function (a, b) {

                        var c = A.Hooks.registered[a];

                        if (c) {

                            var d = c[0],

                                e = c[1];

                            return (

                                (b = A.Hooks.cleanRootPropertyValue(d, b)),

                                b.toString().match(A.RegEx.valueSplit)[e]

                            );

                        }

                        return b;

                    },

                    injectValue: function (a, b, c) {

                        var d = A.Hooks.registered[a];

                        if (d) {

                            var e,

                                f = d[0],

                                g = d[1];

                            return (

                                (c = A.Hooks.cleanRootPropertyValue(f, c)),

                                (e = c.toString().match(A.RegEx.valueSplit)),

                                (e[g] = b),

                                e.join(" ")

                            );

                        }

                        return c;

                    }

                },

                Normalizations: {

                    registered: {

                        clip: function (a, b, c) {

                            switch (a) {

                                case "name":

                                    return "clip";

                                case "extract":

                                    var d;

                                    return (

                                        A.RegEx.wrappedValueAlreadyExtracted.test(

                                            c

                                        )

                                            ? (d = c)

                                            : ((d = c

                                                .toString()

                                                .match(A.RegEx.valueUnwrap)),

                                                (d = d

                                                    ? d[1].replace(

                                                        /,(\s+)?/g,

                                                        " "

                                                    )

                                                    : c)),

                                        d

                                    );

                                case "inject":

                                    return "rect(" + c + ")";

                            }

                        },

                        blur: function (a, b, c) {

                            switch (a) {

                                case "name":

                                    return y.State.isFirefox

                                        ? "filter"

                                        : "-webkit-filter";

                                case "extract":

                                    var d = parseFloat(c);

                                    if (!d && 0 !== d) {

                                        var e = c

                                            .toString()

                                            .match(/blur\(([0-9]+[A-z]+)\)/i);

                                        d = e ? e[1] : 0;

                                    }

                                    return d;

                                case "inject":

                                    return parseFloat(c)

                                        ? "blur(" + c + ")"

                                        : "none";

                            }

                        },

                        opacity: function (a, b, c) {

                            if (p <= 8)

                                switch (a) {

                                    case "name":

                                        return "filter";

                                    case "extract":

                                        var d = c

                                            .toString()

                                            .match(/alpha\(opacity=(.*)\)/i);

                                        return (c = d ? d[1] / 100 : 1);

                                    case "inject":

                                        return (

                                            (b.style.zoom = 1),

                                            parseFloat(c) >= 1

                                                ? ""

                                                : "alpha(opacity=" +

                                                parseInt(

                                                    100 * parseFloat(c),

                                                    10

                                                ) +

                                                ")"

                                        );

                                }

                            else

                                switch (a) {

                                    case "name":

                                        return "opacity";

                                    case "extract":

                                    case "inject":

                                        return c;

                                }

                        }

                    },

                    register: function () {

                        function a(a, b, c) {

                            if (

                                ("border-box" ===

                                    A.getPropertyValue(b, "boxSizing")

                                        .toString()

                                        .toLowerCase()) ===

                                (c || !1)

                            ) {

                                var d,

                                    e,

                                    f = 0,

                                    g =

                                        "width" === a

                                            ? ["Left", "Right"]

                                            : ["Top", "Bottom"],

                                    h = [

                                        "padding" + g[0],

                                        "padding" + g[1],

                                        "border" + g[0] + "Width",

                                        "border" + g[1] + "Width"

                                    ];

                                for (d = 0; d < h.length; d++)

                                    (e = parseFloat(

                                        A.getPropertyValue(b, h[d])

                                    )),

                                        isNaN(e) || (f += e);

                                return c ? -f : f;

                            }

                            return 0;

                        }



                        function b(b, c) {

                            return function (d, e, f) {

                                switch (d) {

                                    case "name":

                                        return b;

                                    case "extract":

                                        return parseFloat(f) + a(b, e, c);

                                    case "inject":

                                        return (

                                            parseFloat(f) - a(b, e, c) + "px"

                                        );

                                }

                            };

                        }

                        (p && !(p > 9)) ||

                            y.State.isGingerbread ||

                            (A.Lists.transformsBase = A.Lists.transformsBase.concat(

                                A.Lists.transforms3D

                            ));

                        for (var c = 0; c < A.Lists.transformsBase.length; c++)

                            !(function () {

                                var a = A.Lists.transformsBase[c];

                                A.Normalizations.registered[a] = function (

                                    b,

                                    c,

                                    e

                                ) {

                                    switch (b) {

                                        case "name":

                                            return "transform";

                                        case "extract":

                                            return g(c) === d ||

                                                g(c).transformCache[a] === d

                                                ? /^scale/i.test(a)

                                                    ? 1

                                                    : 0

                                                : g(c).transformCache[

                                                    a

                                                ].replace(/[()]/g, "");

                                        case "inject":

                                            var f = !1;

                                            switch (a.substr(0, a.length - 1)) {

                                                case "translate":

                                                    f = !/(%|px|em|rem|vw|vh|\d)$/i.test(

                                                        e

                                                    );

                                                    break;

                                                case "scal":

                                                case "scale":

                                                    y.State.isAndroid &&

                                                        g(c).transformCache[

                                                        a

                                                        ] === d &&

                                                        e < 1 &&

                                                        (e = 1),

                                                        (f = !/(\d)$/i.test(e));

                                                    break;

                                                case "skew":

                                                case "rotate":

                                                    f = !/(deg|\d)$/i.test(e);

                                            }

                                            return (

                                                f ||

                                                (g(c).transformCache[a] =

                                                    "(" + e + ")"),

                                                g(c).transformCache[a]

                                            );

                                    }

                                };

                            })();

                        for (var e = 0; e < A.Lists.colors.length; e++)

                            !(function () {

                                var a = A.Lists.colors[e];

                                A.Normalizations.registered[a] = function (

                                    b,

                                    c,

                                    e

                                ) {

                                    switch (b) {

                                        case "name":

                                            return a;

                                        case "extract":

                                            var f;

                                            if (

                                                A.RegEx.wrappedValueAlreadyExtracted.test(

                                                    e

                                                )

                                            )

                                                f = e;

                                            else {

                                                var g,

                                                    h = {

                                                        black: "rgb(0, 0, 0)",

                                                        blue: "rgb(0, 0, 255)",

                                                        gray:

                                                            "rgb(128, 128, 128)",

                                                        green: "rgb(0, 128, 0)",

                                                        red: "rgb(255, 0, 0)",

                                                        white:

                                                            "rgb(255, 255, 255)"

                                                    };

                                                /^[A-z]+$/i.test(e)

                                                    ? (g =

                                                        h[e] !== d

                                                            ? h[e]

                                                            : h.black)

                                                    : A.RegEx.isHex.test(e)

                                                        ? (g =

                                                            "rgb(" +

                                                            A.Values.hexToRgb(

                                                                e

                                                            ).join(" ") +

                                                            ")")

                                                        : /^rgba?\(/i.test(e) ||

                                                        (g = h.black),

                                                    (f = (g || e)

                                                        .toString()

                                                        .match(

                                                            A.RegEx.valueUnwrap

                                                        )[1]

                                                        .replace(

                                                            /,(\s+)?/g,

                                                            " "

                                                        ));

                                            }

                                            return (

                                                (!p || p > 8) &&

                                                3 === f.split(" ").length &&

                                                (f += " 1"),

                                                f

                                            );

                                        case "inject":

                                            return /^rgb/.test(e)

                                                ? e

                                                : (p <= 8

                                                    ? 4 ===

                                                    e.split(" ")

                                                        .length &&

                                                    (e = e

                                                        .split(/\s+/)

                                                        .slice(0, 3)

                                                        .join(" "))

                                                    : 3 ===

                                                    e.split(" ")

                                                        .length &&

                                                    (e += " 1"),

                                                    (p <= 8 ? "rgb" : "rgba") +

                                                    "(" +

                                                    e

                                                        .replace(/\s+/g, ",")

                                                        .replace(

                                                            /\.(\d)+(?=,)/g,

                                                            ""

                                                        ) +

                                                    ")");

                                    }

                                };

                            })();

                        (A.Normalizations.registered.innerWidth = b(

                            "width",

                            !0

                        )),

                            (A.Normalizations.registered.innerHeight = b(

                                "height",

                                !0

                            )),

                            (A.Normalizations.registered.outerWidth = b(

                                "width"

                            )),

                            (A.Normalizations.registered.outerHeight = b(

                                "height"

                            ));

                    }

                },

                Names: {

                    camelCase: function (a) {

                        return a.replace(/-(\w)/g, function (a, b) {

                            return b.toUpperCase();

                        });

                    },

                    SVGAttribute: function (a) {

                        var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";

                        return (

                            (p || (y.State.isAndroid && !y.State.isChrome)) &&

                            (b += "|transform"),

                            new RegExp("^(" + b + ")$", "i").test(a)

                        );

                    },

                    prefixCheck: function (a) {

                        if (y.State.prefixMatches[a])

                            return [y.State.prefixMatches[a], !0];

                        for (

                            var b = ["", "Webkit", "Moz", "ms", "O"],

                            c = 0,

                            d = b.length;

                            c < d;

                            c++

                        ) {

                            var e;

                            if (

                                ((e =

                                    0 === c

                                        ? a

                                        : b[c] +

                                        a.replace(/^\w/, function (a) {

                                            return a.toUpperCase();

                                        })),

                                    u.isString(y.State.prefixElement.style[e]))

                            )

                                return (y.State.prefixMatches[a] = e), [e, !0];

                        }

                        return [a, !1];

                    }

                },

                Values: {

                    hexToRgb: function (a) {

                        var b,

                            c = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,

                            d = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;

                        return (

                            (a = a.replace(c, function (a, b, c, d) {

                                return b + b + c + c + d + d;

                            })),

                            (b = d.exec(a)),

                            b

                                ? [

                                    parseInt(b[1], 16),

                                    parseInt(b[2], 16),

                                    parseInt(b[3], 16)

                                ]

                                : [0, 0, 0]

                        );

                    },

                    isCSSNullValue: function (a) {

                        return (

                            !a ||

                            /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(

                                a

                            )

                        );

                    },

                    getUnitType: function (a) {

                        return /^(rotate|skew)/i.test(a)

                            ? "deg"

                            : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(

                                a

                            )

                                ? ""

                                : "px";

                    },

                    getDisplayType: function (a) {

                        var b = a && a.tagName.toString().toLowerCase();

                        return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(

                            b

                        )

                            ? "inline"

                            : /^(li)$/i.test(b)

                                ? "list-item"

                                : /^(tr)$/i.test(b)

                                    ? "table-row"

                                    : /^(table)$/i.test(b)

                                        ? "table"

                                        : /^(tbody)$/i.test(b)

                                            ? "table-row-group"

                                            : "block";

                    },

                    addClass: function (a, b) {

                        if (a)

                            if (a.classList) a.classList.add(b);

                            else if (u.isString(a.className))

                                a.className +=

                                    (a.className.length ? " " : "") + b;

                            else {

                                var c =

                                    a.getAttribute(

                                        p <= 7 ? "className" : "class"

                                    ) || "";

                                a.setAttribute("class", c + (c ? " " : "") + b);

                            }

                    },

                    removeClass: function (a, b) {

                        if (a)

                            if (a.classList) a.classList.remove(b);

                            else if (u.isString(a.className))

                                a.className = a.className

                                    .toString()

                                    .replace(

                                        new RegExp(

                                            "(^|\\s)" +

                                            b.split(" ").join("|") +

                                            "(\\s|$)",

                                            "gi"

                                        ),

                                        " "

                                    );

                            else {

                                var c =

                                    a.getAttribute(

                                        p <= 7 ? "className" : "class"

                                    ) || "";

                                a.setAttribute(

                                    "class",

                                    c.replace(

                                        new RegExp(

                                            "(^|s)" +

                                            b.split(" ").join("|") +

                                            "(s|$)",

                                            "gi"

                                        ),

                                        " "

                                    )

                                );

                            }

                    }

                },

                getPropertyValue: function (a, c, e, f) {

                    function h(a, c) {

                        var e = 0;

                        if (p <= 8) e = o.css(a, c);

                        else {

                            var i = !1;

                            /^(width|height)$/.test(c) &&

                                0 === A.getPropertyValue(a, "display") &&

                                ((i = !0),

                                    A.setPropertyValue(

                                        a,

                                        "display",

                                        A.Values.getDisplayType(a)

                                    ));

                            var j = function () {

                                i && A.setPropertyValue(a, "display", "none");

                            };

                            if (!f) {

                                if (

                                    "height" === c &&

                                    "border-box" !==

                                    A.getPropertyValue(a, "boxSizing")

                                        .toString()

                                        .toLowerCase()

                                ) {

                                    var k =

                                        a.offsetHeight -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "borderTopWidth"

                                            )

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "borderBottomWidth"

                                            )

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(a, "paddingTop")

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "paddingBottom"

                                            )

                                        ) || 0);

                                    return j(), k;

                                }

                                if (

                                    "width" === c &&

                                    "border-box" !==

                                    A.getPropertyValue(a, "boxSizing")

                                        .toString()

                                        .toLowerCase()

                                ) {

                                    var l =

                                        a.offsetWidth -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "borderLeftWidth"

                                            )

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "borderRightWidth"

                                            )

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(a, "paddingLeft")

                                        ) || 0) -

                                        (parseFloat(

                                            A.getPropertyValue(

                                                a,

                                                "paddingRight"

                                            )

                                        ) || 0);

                                    return j(), l;

                                }

                            }

                            var m;

                            (m =

                                g(a) === d

                                    ? b.getComputedStyle(a, null)

                                    : g(a).computedStyle

                                        ? g(a).computedStyle

                                        : (g(a).computedStyle = b.getComputedStyle(

                                            a,

                                            null

                                        ))),

                                "borderColor" === c && (c = "borderTopColor"),

                                (e =

                                    9 === p && "filter" === c

                                        ? m.getPropertyValue(c)

                                        : m[c]),

                                ("" !== e && null !== e) || (e = a.style[c]),

                                j();

                        }

                        if (

                            "auto" === e &&

                            /^(top|right|bottom|left)$/i.test(c)

                        ) {

                            var n = h(a, "position");

                            ("fixed" === n ||

                                ("absolute" === n && /top|left/i.test(c))) &&

                                (e = o(a).position()[c] + "px");

                        }

                        return e;

                    }

                    var i;

                    if (A.Hooks.registered[c]) {

                        var j = c,

                            k = A.Hooks.getRoot(j);

                        e === d &&

                            (e = A.getPropertyValue(

                                a,

                                A.Names.prefixCheck(k)[0]

                            )),

                            A.Normalizations.registered[k] &&

                            (e = A.Normalizations.registered[k](

                                "extract",

                                a,

                                e

                            )),

                            (i = A.Hooks.extractValue(j, e));

                    } else if (A.Normalizations.registered[c]) {

                        var l, m;

                        (l = A.Normalizations.registered[c]("name", a)),

                            "transform" !== l &&

                            ((m = h(a, A.Names.prefixCheck(l)[0])),

                                A.Values.isCSSNullValue(m) &&

                                A.Hooks.templates[c] &&

                                (m = A.Hooks.templates[c][1])),

                            (i = A.Normalizations.registered[c](

                                "extract",

                                a,

                                m

                            ));

                    }

                    if (!/^[\d-]/.test(i)) {

                        var n = g(a);

                        if (n && n.isSVG && A.Names.SVGAttribute(c))

                            if (/^(height|width)$/i.test(c))

                                try {

                                    i = a.getBBox()[c];

                                } catch (q) {

                                    i = 0;

                                }

                            else i = a.getAttribute(c);

                        else i = h(a, A.Names.prefixCheck(c)[0]);

                    }

                    return (

                        A.Values.isCSSNullValue(i) && (i = 0),

                        y.debug >= 2 && console.log("Get " + c + ": " + i),

                        i

                    );

                },

                setPropertyValue: function (a, c, d, e, f) {

                    var h = c;

                    if ("scroll" === c)

                        f.container

                            ? (f.container["scroll" + f.direction] = d)

                            : "Left" === f.direction

                                ? b.scrollTo(d, f.alternateValue)

                                : b.scrollTo(f.alternateValue, d);

                    else if (

                        A.Normalizations.registered[c] &&

                        "transform" ===

                        A.Normalizations.registered[c]("name", a)

                    )

                        A.Normalizations.registered[c]("inject", a, d),

                            (h = "transform"),

                            (d = g(a).transformCache[c]);

                    else {

                        if (A.Hooks.registered[c]) {

                            var i = c,

                                j = A.Hooks.getRoot(c);

                            (e = e || A.getPropertyValue(a, j)),

                                (d = A.Hooks.injectValue(i, d, e)),

                                (c = j);

                        }

                        if (

                            (A.Normalizations.registered[c] &&

                                ((d = A.Normalizations.registered[c](

                                    "inject",

                                    a,

                                    d

                                )),

                                    (c = A.Normalizations.registered[c](

                                        "name",

                                        a

                                    ))),

                                (h = A.Names.prefixCheck(c)[0]),

                                p <= 8)

                        )

                            try {

                                a.style[h] = d;

                            } catch (l) {

                                y.debug &&

                                    console.log(

                                        "Browser does not support [" +

                                        d +

                                        "] for [" +

                                        h +

                                        "]"

                                    );

                            }

                        else {

                            var k = g(a);

                            k && k.isSVG && A.Names.SVGAttribute(c)

                                ? a.setAttribute(c, d)

                                : (a.style[h] = d);

                        }

                        y.debug >= 2 &&

                            console.log("Set " + c + " (" + h + "): " + d);

                    }

                    return [h, d];

                },

                flushTransformCache: function (a) {

                    var b = "",

                        c = g(a);

                    if (

                        (p || (y.State.isAndroid && !y.State.isChrome)) &&

                        c &&

                        c.isSVG

                    ) {

                        var d = function (b) {

                            return parseFloat(A.getPropertyValue(a, b));

                        },

                            e = {

                                translate: [d("translateX"), d("translateY")],

                                skewX: [d("skewX")],

                                skewY: [d("skewY")],

                                scale:

                                    1 !== d("scale")

                                        ? [d("scale"), d("scale")]

                                        : [d("scaleX"), d("scaleY")],

                                rotate: [d("rotateZ"), 0, 0]

                            };

                        o.each(g(a).transformCache, function (a) {

                            /^translate/i.test(a)

                                ? (a = "translate")

                                : /^scale/i.test(a)

                                    ? (a = "scale")

                                    : /^rotate/i.test(a) && (a = "rotate"),

                                e[a] &&

                                ((b += a + "(" + e[a].join(" ") + ") "),

                                    delete e[a]);

                        });

                    } else {

                        var f, h;

                        o.each(g(a).transformCache, function (c) {

                            if (

                                ((f = g(a).transformCache[c]),

                                    "transformPerspective" === c)

                            )

                                return (h = f), !0;

                            9 === p && "rotateZ" === c && (c = "rotate"),

                                (b += c + f + " ");

                        }),

                            h && (b = "perspective" + h + " " + b);

                    }

                    A.setPropertyValue(a, "transform", b);

                }

            });

            A.Hooks.register(),

                A.Normalizations.register(),

                (y.hook = function (a, b, c) {

                    var e;

                    return (

                        (a = f(a)),

                        o.each(a, function (a, f) {

                            if ((g(f) === d && y.init(f), c === d))

                                e === d && (e = A.getPropertyValue(f, b));

                            else {

                                var h = A.setPropertyValue(f, b, c);

                                "transform" === h[0] &&

                                    y.CSS.flushTransformCache(f),

                                    (e = h);

                            }

                        }),

                        e

                    );

                });

            var B = function () {

                function a() {

                    return k ? z.promise || null : p;

                }



                function e(a, e) {

                    function f(f) {

                        var k, n;

                        if (i.begin && 0 === D)

                            try {

                                i.begin.call(r, r);

                            } catch (V) {

                                setTimeout(function () {

                                    throw V;

                                }, 1);

                            }

                        if ("scroll" === G) {

                            var p,

                                q,

                                w,

                                x = /^x$/i.test(i.axis) ? "Left" : "Top",

                                B = parseFloat(i.offset) || 0;

                            i.container

                                ? u.isWrapped(i.container) ||

                                    u.isNode(i.container)

                                    ? ((i.container =

                                        i.container[0] || i.container),

                                        (p = i.container["scroll" + x]),

                                        (w =

                                            p +

                                            o(a).position()[x.toLowerCase()] +

                                            B))

                                    : (i.container = null)

                                : ((p =

                                    y.State.scrollAnchor[

                                    y.State["scrollProperty" + x]

                                    ]),

                                    (q =

                                        y.State.scrollAnchor[

                                        y.State[

                                        "scrollProperty" +

                                        ("Left" === x

                                            ? "Top"

                                            : "Left")

                                        ]

                                        ]),

                                    (w = o(a).offset()[x.toLowerCase()] + B)),

                                (j = {

                                    scroll: {

                                        rootPropertyValue: !1,

                                        startValue: p,

                                        currentValue: p,

                                        endValue: w,

                                        unitType: "",

                                        easing: i.easing,

                                        scrollData: {

                                            container: i.container,

                                            direction: x,

                                            alternateValue: q

                                        }

                                    },

                                    element: a

                                }),

                                y.debug &&

                                console.log(

                                    "tweensContainer (scroll): ",

                                    j.scroll,

                                    a

                                );

                        } else if ("reverse" === G) {

                            if (!(k = g(a))) return;

                            if (!k.tweensContainer)

                                return void o.dequeue(a, i.queue);

                            "none" === k.opts.display &&

                                (k.opts.display = "auto"),

                                "hidden" === k.opts.visibility &&

                                (k.opts.visibility = "visible"),

                                (k.opts.loop = !1),

                                (k.opts.begin = null),

                                (k.opts.complete = null),

                                v.easing || delete i.easing,

                                v.duration || delete i.duration,

                                (i = o.extend({}, k.opts, i)),

                                (n = o.extend(

                                    !0,

                                    {},

                                    k ? k.tweensContainer : null

                                ));

                            for (var E in n)

                                if (n.hasOwnProperty(E) && "element" !== E) {

                                    var F = n[E].startValue;

                                    (n[E].startValue = n[E].currentValue =

                                        n[E].endValue),

                                        (n[E].endValue = F),

                                        u.isEmptyObject(v) ||

                                        (n[E].easing = i.easing),

                                        y.debug &&

                                        console.log(

                                            "reverse tweensContainer (" +

                                            E +

                                            "): " +

                                            JSON.stringify(n[E]),

                                            a

                                        );

                                }

                            j = n;

                        } else if ("start" === G) {

                            (k = g(a)),

                                k &&

                                k.tweensContainer &&

                                !0 === k.isAnimating &&

                                (n = k.tweensContainer);

                            var H = function (e, f) {

                                var g,

                                    l = A.Hooks.getRoot(e),

                                    m = !1,

                                    p = f[0],

                                    q = f[1],

                                    r = f[2];

                                if (

                                    !(

                                        (k && k.isSVG) ||

                                        "tween" === l ||

                                        !1 !== A.Names.prefixCheck(l)[1] ||

                                        A.Normalizations.registered[l] !== d

                                    )

                                )

                                    return void (

                                        y.debug &&

                                        console.log(

                                            "Skipping [" +

                                            l +

                                            "] due to a lack of browser support."

                                        )

                                    );

                                ((i.display !== d &&

                                    null !== i.display &&

                                    "none" !== i.display) ||

                                    (i.visibility !== d &&

                                        "hidden" !== i.visibility)) &&

                                    /opacity|filter/.test(e) &&

                                    !r &&

                                    0 !== p &&

                                    (r = 0),

                                    i._cacheValues && n && n[e]

                                        ? (r === d &&

                                            (r =

                                                n[e].endValue +

                                                n[e].unitType),

                                            (m = k.rootPropertyValueCache[l]))

                                        : A.Hooks.registered[e]

                                            ? r === d

                                                ? ((m = A.getPropertyValue(a, l)),

                                                    (r = A.getPropertyValue(a, e, m)))

                                                : (m = A.Hooks.templates[l][1])

                                            : r === d &&

                                            (r = A.getPropertyValue(a, e));

                                var s,

                                    t,

                                    v,

                                    w = !1,

                                    x = function (a, b) {

                                        var c, d;

                                        return (

                                            (d = (b || "0")

                                                .toString()

                                                .toLowerCase()

                                                .replace(/[%A-z]+$/, function (

                                                    a

                                                ) {

                                                    return (c = a), "";

                                                })),

                                            c || (c = A.Values.getUnitType(a)),

                                            [d, c]

                                        );

                                    };

                                if (r !== p && u.isString(r) && u.isString(p)) {

                                    g = "";

                                    var z = 0,

                                        B = 0,

                                        C = [],

                                        D = [],

                                        E = 0,

                                        F = 0,

                                        G = 0;

                                    for (

                                        r = A.Hooks.fixColors(r),

                                        p = A.Hooks.fixColors(p);

                                        z < r.length && B < p.length;



                                    ) {

                                        var H = r[z],

                                            I = p[B];

                                        if (

                                            /[\d\.-]/.test(H) &&

                                            /[\d\.-]/.test(I)

                                        ) {

                                            for (

                                                var J = H,

                                                K = I,

                                                L = ".",

                                                N = ".";

                                                ++z < r.length;



                                            ) {

                                                if ((H = r[z]) === L) L = "..";

                                                else if (!/\d/.test(H)) break;

                                                J += H;

                                            }

                                            for (; ++B < p.length;) {

                                                if ((I = p[B]) === N) N = "..";

                                                else if (!/\d/.test(I)) break;

                                                K += I;

                                            }

                                            var O = A.Hooks.getUnit(r, z),

                                                P = A.Hooks.getUnit(p, B);

                                            if (

                                                ((z += O.length),

                                                    (B += P.length),

                                                    O === P)

                                            )

                                                J === K

                                                    ? (g += J + O)

                                                    : ((g +=

                                                        "{" +

                                                        C.length +

                                                        (F ? "!" : "") +

                                                        "}" +

                                                        O),

                                                        C.push(parseFloat(J)),

                                                        D.push(parseFloat(K)));

                                            else {

                                                var Q = parseFloat(J),

                                                    R = parseFloat(K);

                                                (g +=

                                                    (E < 5 ? "calc" : "") +

                                                    "(" +

                                                    (Q

                                                        ? "{" +

                                                        C.length +

                                                        (F ? "!" : "") +

                                                        "}"

                                                        : "0") +

                                                    O +

                                                    " + " +

                                                    (R

                                                        ? "{" +

                                                        (C.length +

                                                            (Q ? 1 : 0)) +

                                                        (F ? "!" : "") +

                                                        "}"

                                                        : "0") +

                                                    P +

                                                    ")"),

                                                    Q && (C.push(Q), D.push(0)),

                                                    R && (C.push(0), D.push(R));

                                            }

                                        } else {

                                            if (H !== I) {

                                                E = 0;

                                                break;

                                            }

                                            (g += H),

                                                z++,

                                                B++,

                                                (0 === E && "c" === H) ||

                                                    (1 === E && "a" === H) ||

                                                    (2 === E && "l" === H) ||

                                                    (3 === E && "c" === H) ||

                                                    (E >= 4 && "(" === H)

                                                    ? E++

                                                    : ((E && E < 5) ||

                                                        (E >= 4 &&

                                                            ")" === H &&

                                                            --E < 5)) &&

                                                    (E = 0),

                                                (0 === F && "r" === H) ||

                                                    (1 === F && "g" === H) ||

                                                    (2 === F && "b" === H) ||

                                                    (3 === F && "a" === H) ||

                                                    (F >= 3 && "(" === H)

                                                    ? (3 === F &&

                                                        "a" === H &&

                                                        (G = 1),

                                                        F++)

                                                    : G && "," === H

                                                        ? ++G > 3 && (F = G = 0)

                                                        : ((G && F < (G ? 5 : 4)) ||

                                                            (F >= (G ? 4 : 3) &&

                                                                ")" === H &&

                                                                --F <

                                                                (G

                                                                    ? 5

                                                                    : 4))) &&

                                                        (F = G = 0);

                                        }

                                    }

                                    (z === r.length && B === p.length) ||

                                        (y.debug &&

                                            console.error(

                                                'Trying to pattern match mis-matched strings ["' +

                                                p +

                                                '", "' +

                                                r +

                                                '"]'

                                            ),

                                            (g = d)),

                                        g &&

                                        (C.length

                                            ? (y.debug &&

                                                console.log(

                                                    'Pattern found "' +

                                                    g +

                                                    '" -> ',

                                                    C,

                                                    D,

                                                    "[" +

                                                    r +

                                                    "," +

                                                    p +

                                                    "]"

                                                ),

                                                (r = C),

                                                (p = D),

                                                (t = v = ""))

                                            : (g = d));

                                }

                                g ||

                                    ((s = x(e, r)),

                                        (r = s[0]),

                                        (v = s[1]),

                                        (s = x(e, p)),

                                        (p = s[0].replace(/^([+-\/*])=/, function (

                                            a,

                                            b

                                        ) {

                                            return (w = b), "";

                                        })),

                                        (t = s[1]),

                                        (r = parseFloat(r) || 0),

                                        (p = parseFloat(p) || 0),

                                        "%" === t &&

                                        (/^(fontSize|lineHeight)$/.test(e)

                                            ? ((p /= 100), (t = "em"))

                                            : /^scale/.test(e)

                                                ? ((p /= 100), (t = ""))

                                                : /(Red|Green|Blue)$/i.test(e) &&

                                                ((p = (p / 100) * 255),

                                                    (t = ""))));

                                if (/[\/*]/.test(w)) t = v;

                                else if (v !== t && 0 !== r)

                                    if (0 === p) t = v;

                                    else {

                                        h =

                                            h ||

                                            (function () {

                                                var d = {

                                                    myParent:

                                                        a.parentNode ||

                                                        c.body,

                                                    position: A.getPropertyValue(

                                                        a,

                                                        "position"

                                                    ),

                                                    fontSize: A.getPropertyValue(

                                                        a,

                                                        "fontSize"

                                                    )

                                                },

                                                    e =

                                                        d.position ===

                                                        M.lastPosition &&

                                                        d.myParent ===

                                                        M.lastParent,

                                                    f =

                                                        d.fontSize ===

                                                        M.lastFontSize;

                                                (M.lastParent = d.myParent),

                                                    (M.lastPosition =

                                                        d.position),

                                                    (M.lastFontSize =

                                                        d.fontSize);

                                                var g = {};

                                                if (f && e)

                                                    (g.emToPx = M.lastEmToPx),

                                                        (g.percentToPxWidth =

                                                            M.lastPercentToPxWidth),

                                                        (g.percentToPxHeight =

                                                            M.lastPercentToPxHeight);

                                                else {

                                                    var h =

                                                        k && k.isSVG

                                                            ? c.createElementNS(

                                                                "http://www.w3.org/2000/svg",

                                                                "rect"

                                                            )

                                                            : c.createElement(

                                                                "div"

                                                            );

                                                    y.init(h),

                                                        d.myParent.appendChild(

                                                            h

                                                        ),

                                                        o.each(

                                                            [

                                                                "overflow",

                                                                "overflowX",

                                                                "overflowY"

                                                            ],

                                                            function (a, b) {

                                                                y.CSS.setPropertyValue(

                                                                    h,

                                                                    b,

                                                                    "hidden"

                                                                );

                                                            }

                                                        ),

                                                        y.CSS.setPropertyValue(

                                                            h,

                                                            "position",

                                                            d.position

                                                        ),

                                                        y.CSS.setPropertyValue(

                                                            h,

                                                            "fontSize",

                                                            d.fontSize

                                                        ),

                                                        y.CSS.setPropertyValue(

                                                            h,

                                                            "boxSizing",

                                                            "content-box"

                                                        ),

                                                        o.each(

                                                            [

                                                                "minWidth",

                                                                "maxWidth",

                                                                "width",

                                                                "minHeight",

                                                                "maxHeight",

                                                                "height"

                                                            ],

                                                            function (a, b) {

                                                                y.CSS.setPropertyValue(

                                                                    h,

                                                                    b,

                                                                    "100%"

                                                                );

                                                            }

                                                        ),

                                                        y.CSS.setPropertyValue(

                                                            h,

                                                            "paddingLeft",

                                                            "100em"

                                                        ),

                                                        (g.percentToPxWidth = M.lastPercentToPxWidth =

                                                            (parseFloat(

                                                                A.getPropertyValue(

                                                                    h,

                                                                    "width",

                                                                    null,

                                                                    !0

                                                                )

                                                            ) || 1) / 100),

                                                        (g.percentToPxHeight = M.lastPercentToPxHeight =

                                                            (parseFloat(

                                                                A.getPropertyValue(

                                                                    h,

                                                                    "height",

                                                                    null,

                                                                    !0

                                                                )

                                                            ) || 1) / 100),

                                                        (g.emToPx = M.lastEmToPx =

                                                            (parseFloat(

                                                                A.getPropertyValue(

                                                                    h,

                                                                    "paddingLeft"

                                                                )

                                                            ) || 1) / 100),

                                                        d.myParent.removeChild(

                                                            h

                                                        );

                                                }

                                                return (

                                                    null === M.remToPx &&

                                                    (M.remToPx =

                                                        parseFloat(

                                                            A.getPropertyValue(

                                                                c.body,

                                                                "fontSize"

                                                            )

                                                        ) || 16),

                                                    null === M.vwToPx &&

                                                    ((M.vwToPx =

                                                        parseFloat(

                                                            b.innerWidth

                                                        ) / 100),

                                                        (M.vhToPx =

                                                            parseFloat(

                                                                b.innerHeight

                                                            ) / 100)),

                                                    (g.remToPx = M.remToPx),

                                                    (g.vwToPx = M.vwToPx),

                                                    (g.vhToPx = M.vhToPx),

                                                    y.debug >= 1 &&

                                                    console.log(

                                                        "Unit ratios: " +

                                                        JSON.stringify(

                                                            g

                                                        ),

                                                        a

                                                    ),

                                                    g

                                                );

                                            })();

                                        var S =

                                            /margin|padding|left|right|width|text|word|letter/i.test(

                                                e

                                            ) ||

                                                /X$/.test(e) ||

                                                "x" === e

                                                ? "x"

                                                : "y";

                                        switch (v) {

                                            case "%":

                                                r *=

                                                    "x" === S

                                                        ? h.percentToPxWidth

                                                        : h.percentToPxHeight;

                                                break;

                                            case "px":

                                                break;

                                            default:

                                                r *= h[v + "ToPx"];

                                        }

                                        switch (t) {

                                            case "%":

                                                r *=

                                                    1 /

                                                    ("x" === S

                                                        ? h.percentToPxWidth

                                                        : h.percentToPxHeight);

                                                break;

                                            case "px":

                                                break;

                                            default:

                                                r *= 1 / h[t + "ToPx"];

                                        }

                                    }

                                switch (w) {

                                    case "+":

                                        p = r + p;

                                        break;

                                    case "-":

                                        p = r - p;

                                        break;

                                    case "*":

                                        p *= r;

                                        break;

                                    case "/":

                                        p = r / p;

                                }

                                (j[e] = {

                                    rootPropertyValue: m,

                                    startValue: r,

                                    currentValue: r,

                                    endValue: p,

                                    unitType: t,

                                    easing: q

                                }),

                                    g && (j[e].pattern = g),

                                    y.debug &&

                                    console.log(

                                        "tweensContainer (" +

                                        e +

                                        "): " +

                                        JSON.stringify(j[e]),

                                        a

                                    );

                            };

                            for (var I in s)

                                if (s.hasOwnProperty(I)) {

                                    var J = A.Names.camelCase(I),

                                        K = (function (b, c) {

                                            var d, f, g;

                                            return (

                                                u.isFunction(b) &&

                                                (b = b.call(a, e, C)),

                                                u.isArray(b)

                                                    ? ((d = b[0]),

                                                        (!u.isArray(b[1]) &&

                                                            /^[\d-]/.test(

                                                                b[1]

                                                            )) ||

                                                            u.isFunction(b[1]) ||

                                                            A.RegEx.isHex.test(b[1])

                                                            ? (g = b[1])

                                                            : (u.isString(b[1]) &&

                                                                !A.RegEx.isHex.test(

                                                                    b[1]

                                                                ) &&

                                                                y.Easings[

                                                                b[1]

                                                                ]) ||

                                                                u.isArray(b[1])

                                                                ? ((f = c

                                                                    ? b[1]

                                                                    : l(

                                                                        b[1],

                                                                        i.duration

                                                                    )),

                                                                    (g = b[2]))

                                                                : (g = b[1] || b[2]))

                                                    : (d = b),

                                                c || (f = f || i.easing),

                                                u.isFunction(d) &&

                                                (d = d.call(a, e, C)),

                                                u.isFunction(g) &&

                                                (g = g.call(a, e, C)),

                                                [d || 0, f, g]

                                            );

                                        })(s[I]);

                                    if (t(A.Lists.colors, J)) {

                                        var L = K[0],

                                            O = K[1],

                                            P = K[2];

                                        if (A.RegEx.isHex.test(L)) {

                                            for (

                                                var Q = [

                                                    "Red",

                                                    "Green",

                                                    "Blue"

                                                ],

                                                R = A.Values.hexToRgb(L),

                                                S = P

                                                    ? A.Values.hexToRgb(P)

                                                    : d,

                                                T = 0;

                                                T < Q.length;

                                                T++

                                            ) {

                                                var U = [R[T]];

                                                O && U.push(O),

                                                    S !== d && U.push(S[T]),

                                                    H(J + Q[T], U);

                                            }

                                            continue;

                                        }

                                    }

                                    H(J, K);

                                }

                            j.element = a;

                        }

                        j.element &&

                            (A.Values.addClass(a, "velocity-animating"),

                                N.push(j),

                                (k = g(a)),

                                k &&

                                ("" === i.queue &&

                                    ((k.tweensContainer = j), (k.opts = i)),

                                    (k.isAnimating = !0)),

                                D === C - 1

                                    ? (y.State.calls.push([

                                        N,

                                        r,

                                        i,

                                        null,

                                        z.resolver,

                                        null,

                                        0

                                    ]),

                                        !1 === y.State.isTicking &&

                                        ((y.State.isTicking = !0), m()))

                                    : D++);

                    }

                    var h,

                        i = o.extend({}, y.defaults, v),

                        j = {};

                    switch (

                    (g(a) === d && y.init(a),

                        parseFloat(i.delay) &&

                        !1 !== i.queue &&

                        o.queue(a, i.queue, function (b, c) {

                            if (!0 === c) return !0;

                            y.velocityQueueEntryFlag = !0;

                            var d = y.State.delayedElements.count++;

                            y.State.delayedElements[d] = a;

                            var e = (function (a) {

                                return function () {

                                    (y.State.delayedElements[a] = !1), b();

                                };

                            })(d);

                            (g(a).delayBegin = new Date().getTime()),

                                (g(a).delay = parseFloat(i.delay)),

                                (g(a).delayTimer = {

                                    setTimeout: setTimeout(

                                        b,

                                        parseFloat(i.delay)

                                    ),

                                    next: e

                                });

                        }),

                        i.duration.toString().toLowerCase())

                    ) {

                        case "fast":

                            i.duration = 200;

                            break;

                        case "normal":

                            i.duration = w;

                            break;

                        case "slow":

                            i.duration = 600;

                            break;

                        default:

                            i.duration = parseFloat(i.duration) || 1;

                    }

                    if (

                        (!1 !== y.mock &&

                            (!0 === y.mock

                                ? (i.duration = i.delay = 1)

                                : ((i.duration *= parseFloat(y.mock) || 1),

                                    (i.delay *= parseFloat(y.mock) || 1))),

                            (i.easing = l(i.easing, i.duration)),

                            i.begin && !u.isFunction(i.begin) && (i.begin = null),

                            i.progress &&

                            !u.isFunction(i.progress) &&

                            (i.progress = null),

                            i.complete &&

                            !u.isFunction(i.complete) &&

                            (i.complete = null),

                            i.display !== d &&

                            null !== i.display &&

                            ((i.display = i.display.toString().toLowerCase()),

                                "auto" === i.display &&

                                (i.display = y.CSS.Values.getDisplayType(a))),

                            i.visibility !== d &&

                            null !== i.visibility &&

                            (i.visibility = i.visibility

                                .toString()

                                .toLowerCase()),

                            (i.mobileHA =

                                i.mobileHA &&

                                y.State.isMobile &&

                                !y.State.isGingerbread),

                            !1 === i.queue)

                    )

                        if (i.delay) {

                            var k = y.State.delayedElements.count++;

                            y.State.delayedElements[k] = a;

                            var n = (function (a) {

                                return function () {

                                    (y.State.delayedElements[a] = !1), f();

                                };

                            })(k);

                            (g(a).delayBegin = new Date().getTime()),

                                (g(a).delay = parseFloat(i.delay)),

                                (g(a).delayTimer = {

                                    setTimeout: setTimeout(

                                        f,

                                        parseFloat(i.delay)

                                    ),

                                    next: n

                                });

                        } else f();

                    else

                        o.queue(a, i.queue, function (a, b) {

                            if (!0 === b) return z.promise && z.resolver(r), !0;

                            (y.velocityQueueEntryFlag = !0), f(a);

                        });

                    ("" !== i.queue && "fx" !== i.queue) ||

                        "inprogress" === o.queue(a)[0] ||

                        o.dequeue(a);

                }

                var j,

                    k,

                    p,

                    q,

                    r,

                    s,

                    v,

                    x =

                        arguments[0] &&

                        (arguments[0].p ||

                            (o.isPlainObject(arguments[0].properties) &&

                                !arguments[0].properties.names) ||

                            u.isString(arguments[0].properties));

                u.isWrapped(this)

                    ? ((k = !1), (q = 0), (r = this), (p = this))

                    : ((k = !0),

                        (q = 1),

                        (r = x

                            ? arguments[0].elements || arguments[0].e

                            : arguments[0]));

                var z = {

                    promise: null,

                    resolver: null,

                    rejecter: null

                };

                if (

                    (k &&

                        y.Promise &&

                        (z.promise = new y.Promise(function (a, b) {

                            (z.resolver = a), (z.rejecter = b);

                        })),

                        x

                            ? ((s = arguments[0].properties || arguments[0].p),

                                (v = arguments[0].options || arguments[0].o))

                            : ((s = arguments[q]), (v = arguments[q + 1])),

                        !(r = f(r)))

                )

                    return void (

                        z.promise &&

                        (s && v && !1 === v.promiseRejectEmpty

                            ? z.resolver()

                            : z.rejecter())

                    );

                var C = r.length,

                    D = 0;

                if (

                    !/^(stop|finish|finishAll|pause|resume)$/i.test(s) &&

                    !o.isPlainObject(v)

                ) {

                    var E = q + 1;

                    v = {};

                    for (var F = E; F < arguments.length; F++)

                        u.isArray(arguments[F]) ||

                            (!/^(fast|normal|slow)$/i.test(arguments[F]) &&

                                !/^\d/.test(arguments[F]))

                            ? u.isString(arguments[F]) ||

                                u.isArray(arguments[F])

                                ? (v.easing = arguments[F])

                                : u.isFunction(arguments[F]) &&

                                (v.complete = arguments[F])

                            : (v.duration = arguments[F]);

                }

                var G;

                switch (s) {

                    case "scroll":

                        G = "scroll";

                        break;

                    case "reverse":

                        G = "reverse";

                        break;

                    case "pause":

                        var H = new Date().getTime();

                        return (

                            o.each(r, function (a, b) {

                                h(b, H);

                            }),

                            o.each(y.State.calls, function (a, b) {

                                var c = !1;

                                b &&

                                    o.each(b[1], function (a, e) {

                                        var f = v === d ? "" : v;

                                        return (

                                            (!0 !== f &&

                                                b[2].queue !== f &&

                                                (v !== d ||

                                                    !1 !== b[2].queue)) ||

                                            (o.each(r, function (a, d) {

                                                if (d === e)

                                                    return (

                                                        (b[5] = {

                                                            resume: !1

                                                        }),

                                                        (c = !0),

                                                        !1

                                                    );

                                            }),

                                                !c && void 0)

                                        );

                                    });

                            }),

                            a()

                        );

                    case "resume":

                        return (

                            o.each(r, function (a, b) {

                                i(b, H);

                            }),

                            o.each(y.State.calls, function (a, b) {

                                var c = !1;

                                b &&

                                    o.each(b[1], function (a, e) {

                                        var f = v === d ? "" : v;

                                        return (

                                            (!0 !== f &&

                                                b[2].queue !== f &&

                                                (v !== d ||

                                                    !1 !== b[2].queue)) ||

                                            (!b[5] ||

                                                (o.each(r, function (a, d) {

                                                    if (d === e)

                                                        return (

                                                            (b[5].resume = !0),

                                                            (c = !0),

                                                            !1

                                                        );

                                                }),

                                                    !c && void 0))

                                        );

                                    });

                            }),

                            a()

                        );

                    case "finish":

                    case "finishAll":

                    case "stop":

                        o.each(r, function (a, b) {

                            g(b) &&

                                g(b).delayTimer &&

                                (clearTimeout(g(b).delayTimer.setTimeout),

                                    g(b).delayTimer.next && g(b).delayTimer.next(),

                                    delete g(b).delayTimer),

                                "finishAll" !== s ||

                                (!0 !== v && !u.isString(v)) ||

                                (o.each(

                                    o.queue(b, u.isString(v) ? v : ""),

                                    function (a, b) {

                                        u.isFunction(b) && b();

                                    }

                                ),

                                    o.queue(b, u.isString(v) ? v : "", []));

                        });

                        var I = [];

                        return (

                            o.each(y.State.calls, function (a, b) {

                                b &&

                                    o.each(b[1], function (c, e) {

                                        var f = v === d ? "" : v;

                                        if (

                                            !0 !== f &&

                                            b[2].queue !== f &&

                                            (v !== d || !1 !== b[2].queue)

                                        )

                                            return !0;

                                        o.each(r, function (c, d) {

                                            if (d === e)

                                                if (

                                                    ((!0 === v ||

                                                        u.isString(v)) &&

                                                        (o.each(

                                                            o.queue(

                                                                d,

                                                                u.isString(v)

                                                                    ? v

                                                                    : ""

                                                            ),

                                                            function (a, b) {

                                                                u.isFunction(

                                                                    b

                                                                ) &&

                                                                    b(null, !0);

                                                            }

                                                        ),

                                                            o.queue(

                                                                d,

                                                                u.isString(v)

                                                                    ? v

                                                                    : "",

                                                                []

                                                            )),

                                                        "stop" === s)

                                                ) {

                                                    var h = g(d);

                                                    h &&

                                                        h.tweensContainer &&

                                                        !1 !== f &&

                                                        o.each(

                                                            h.tweensContainer,

                                                            function (a, b) {

                                                                b.endValue =

                                                                    b.currentValue;

                                                            }

                                                        ),

                                                        I.push(a);

                                                } else

                                                    ("finish" !== s &&

                                                        "finishAll" !== s) ||

                                                        (b[2].duration = 1);

                                        });

                                    });

                            }),

                            "stop" === s &&

                            (o.each(I, function (a, b) {

                                n(b, !0);

                            }),

                                z.promise && z.resolver(r)),

                            a()

                        );

                    default:

                        if (!o.isPlainObject(s) || u.isEmptyObject(s)) {

                            if (u.isString(s) && y.Redirects[s]) {

                                j = o.extend({}, v);

                                var J = j.duration,

                                    K = j.delay || 0;

                                return (

                                    !0 === j.backwards &&

                                    (r = o.extend(!0, [], r).reverse()),

                                    o.each(r, function (a, b) {

                                        parseFloat(j.stagger)

                                            ? (j.delay =

                                                K + parseFloat(j.stagger) * a)

                                            : u.isFunction(j.stagger) &&

                                            (j.delay =

                                                K + j.stagger.call(b, a, C)),

                                            j.drag &&

                                            ((j.duration =

                                                parseFloat(J) ||

                                                (/^(callout|transition)/.test(

                                                    s

                                                )

                                                    ? 1e3

                                                    : w)),

                                                (j.duration = Math.max(

                                                    j.duration *

                                                    (j.backwards

                                                        ? 1 - a / C

                                                        : (a + 1) / C),

                                                    0.75 * j.duration,

                                                    200

                                                ))),

                                            y.Redirects[s].call(

                                                b,

                                                b,

                                                j || {},

                                                a,

                                                C,

                                                r,

                                                z.promise ? z : d

                                            );

                                    }),

                                    a()

                                );

                            }

                            var L =

                                "Velocity: First argument (" +

                                s +

                                ") was not a property map, a known action, or a registered redirect. Aborting.";

                            return (

                                z.promise

                                    ? z.rejecter(new Error(L))

                                    : b.console && console.log(L),

                                a()

                            );

                        }

                        G = "start";

                }

                var M = {

                    lastParent: null,

                    lastPosition: null,

                    lastFontSize: null,

                    lastPercentToPxWidth: null,

                    lastPercentToPxHeight: null,

                    lastEmToPx: null,

                    remToPx: null,

                    vwToPx: null,

                    vhToPx: null

                },

                    N = [];

                o.each(r, function (a, b) {

                    u.isNode(b) && e(b, a);

                }),

                    (j = o.extend({}, y.defaults, v)),

                    (j.loop = parseInt(j.loop, 10));

                var O = 2 * j.loop - 1;

                if (j.loop)

                    for (var P = 0; P < O; P++) {

                        var Q = {

                            delay: j.delay,

                            progress: j.progress

                        };

                        P === O - 1 &&

                            ((Q.display = j.display),

                                (Q.visibility = j.visibility),

                                (Q.complete = j.complete)),

                            B(r, "reverse", Q);

                    }

                return a();

            };

            (y = o.extend(B, y)), (y.animate = B);

            var C = b.requestAnimationFrame || q;

            if (!y.State.isMobile && c.hidden !== d) {

                var D = function () {

                    c.hidden

                        ? ((C = function (a) {

                            return setTimeout(function () {

                                a(!0);

                            }, 16);

                        }),

                            m())

                        : (C = b.requestAnimationFrame || q);

                };

                D(), c.addEventListener("visibilitychange", D);

            }

            return (

                (a.Velocity = y),

                a !== b &&

                ((a.fn.velocity = B),

                    (a.fn.velocity.defaults = y.defaults)),

                o.each(["Down", "Up"], function (a, b) {

                    y.Redirects["slide" + b] = function (a, c, e, f, g, h) {

                        var i = o.extend({}, c),

                            j = i.begin,

                            k = i.complete,

                            l = {},

                            m = {

                                height: "",

                                marginTop: "",

                                marginBottom: "",

                                paddingTop: "",

                                paddingBottom: ""

                            };

                        i.display === d &&

                            (i.display =

                                "Down" === b

                                    ? "inline" ===

                                        y.CSS.Values.getDisplayType(a)

                                        ? "inline-block"

                                        : "block"

                                    : "none"),

                            (i.begin = function () {

                                0 === e && j && j.call(g, g);

                                for (var c in m)

                                    if (m.hasOwnProperty(c)) {

                                        l[c] = a.style[c];

                                        var d = A.getPropertyValue(a, c);

                                        m[c] = "Down" === b ? [d, 0] : [0, d];

                                    }

                                (l.overflow = a.style.overflow),

                                    (a.style.overflow = "hidden");

                            }),

                            (i.complete = function () {

                                for (var b in l)

                                    l.hasOwnProperty(b) && (a.style[b] = l[b]);

                                e === f - 1 &&

                                    (k && k.call(g, g), h && h.resolver(g));

                            }),

                            y(a, m, i);

                    };

                }),

                o.each(["In", "Out"], function (a, b) {

                    y.Redirects["fade" + b] = function (a, c, e, f, g, h) {

                        var i = o.extend({}, c),

                            j = i.complete,

                            k = {

                                opacity: "In" === b ? 1 : 0

                            };

                        0 !== e && (i.begin = null),

                            (i.complete =

                                e !== f - 1

                                    ? null

                                    : function () {

                                        j && j.call(g, g), h && h.resolver(g);

                                    }),

                            i.display === d &&

                            (i.display = "In" === b ? "auto" : "none"),

                            y(this, k, i);

                    };

                }),

                y

            );

        })(

            window.jQuery || window.Zepto || window,

            window,

            window ? window.document : undefined

        );

    });



options.initThings = {

    name: "initThings",

    css: "",

    fn: function initThings() {

        $(".item_block").off();

        $("#topSlider .progress").remove();

        $("canvas").remove();

        $("#minOpenBtn").click(function () {

            $("body").toggleClass("openMenu");

        });

    }

};



// 补0

function zero(num, n) {

    if ((num + "").length >= n) return num;

    return zero("0" + num, n);

}

// script load

function loadScript(url, callback) {

    var script = document.createElement("script");

    script.type = "text/javascript";

    if (script.readyState) {

        // only required for IE <9

        script.onreadystatechange = function () {

            if (

                script.readyState === "loaded" ||

                script.readyState === "complete"

            ) {

                script.onreadystatechange = null;

                callback();

            }

        };

    } else {

        //Others

        script.onload = function () {

            callback();

        };

    }



    script.src = url;

    document.getElementsByTagName("head")[0].appendChild(script);

}



// 轮播页码

var pageNum = {

    num: 0,

    getDir: function (now, next) {

        // true -- next  false -- prev

        let dir = true;

        if (now < next) {

            dir = true;

        } else {

            dir = false;

        }

        return dir ? "next" : "prev";

    },

    pageIndex: function (dir, total, $el, speed) {

        switch (dir) {

            case "next":

                this.num++;

                break;

            case "prev":

                this.num--;

                break;

        }



        if (this.num === total) {

            $el.velocity(

                {

                    translateY: `${-16 * this.num}px`

                },

                {

                    duration: speed,

                    complete: () => {

                        this.num = 0;

                        $el.velocity(

                            {

                                translateY: 0

                            },

                            0

                        );

                    }

                }

            );

        } else if (this.num < 0) {

            $el.velocity(

                {

                    translateY: -16 * total

                },

                {

                    duration: 0,

                    complete: () => {

                        this.num = total - 1;

                        $el.velocity(

                            {

                                translateY: `${-16 * this.num}px`

                            },

                            speed

                        );

                    }

                }

            );

        } else {

            $el.velocity(

                {

                    translateY: `${-16 * this.num}px`

                },

                speed

            );

        }

    }

};



//搜索框

function searchBar() {

    // searchInputFocus

    $(".searchSub")

        .off("click")

        .on("click", function () {

            $(this)

                .closest(".searchFormGroup")

                .find("input")

                .toggleClass("focus");

        });

}

// 鼠标焦点圈

function focusCircle(e) {

    $("#longPage").append(`<div

    class="c-cursor"

  >

    <div class="c-cursor__outer">

      <div class="c-cursor__inner">

        <div class="c-cursor__svg-wrapper c-cursor__left-right">

          <!--?xml version="1.0" encoding="utf-8"?--><!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

          <svg

            version="1.1"

            id="Livello_1"

            xmlns="http://www.w3.org/2000/svg"

            xmlns:xlink="http://www.w3.org/1999/xlink"

            x="0px"

            y="0px"

            viewBox="0 0 100 100"

            style="enable-background:new 0 0 100 100;"

            xml:space="preserve"

          >

            <style type="text/css">

              .st0 {

                fill: #ffffff;

              }

            </style>



            <g>

              <polygon

                class=""

                points="57.9,60 56.6,58.8 64.4,50 56.6,41.2 57.9,40 66.8,50 	"

              ></polygon>

              <polygon

                class=""

                points="42.1,40 43.4,41.2 35.6,50 43.4,58.8 42.1,60 33.2,50 	"

              ></polygon>

            </g>

            <!-- <path class="st0" d="M50,98C23.5,98,2,76.5,2,50C2,23.5,23.5,2,50,2c26.5,0,48,21.5,48,48C98,76.5,76.5,98,50,98z M50,4

      C24.6,4,4,24.6,4,50s20.6,46,46,46s46-20.6,46-46S75.4,4,50,4z"/> -->

          </svg>

        </div>



        <div class="c-cursor__svg-wrapper c-cursor__eye">

          <!--?xml version="1.0" encoding="utf-8"?--><!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

          <svg

            version="1.1"

            id="Livello_1"

            xmlns="http://www.w3.org/2000/svg"

            xmlns:xlink="http://www.w3.org/1999/xlink"

            x="0px"

            y="0px"

            viewBox="0 0 100 100"

            style="enable-background:new 0 0 100 100;"

            xml:space="preserve"

          >

            <style type="text/css">

              .st0 {

                fill: #ffffff;

              }

            </style>



            <!-- <path class="st0" d="M50,98C23.5,98,2,76.5,2,50C2,23.5,23.5,2,50,2c26.5,0,48,21.5,48,48C98,76.5,76.5,98,50,98z M50,4

      C24.6,4,4,24.6,4,50s20.6,46,46,46s46-20.6,46-46S75.4,4,50,4z"/> -->

            <g>

              <path

                class=""

                d="M50,64.1c-2.5,0-5-0.4-7.3-1.2c-5.3-1.9-10.4-6.6-13.5-12.4c-0.2-0.3-0.2-0.6,0-0.9c3-5.7,8-10.3,13.2-12.3

        c4.8-1.8,10.9-1.7,15.6,0.3c3.4,1.4,6.6,3.9,9.4,7.3c1.4,1.7,2.5,3.3,3.3,4.8c0.2,0.3,0.1,0.6,0,0.9c-0.9,1.6-1.9,3-2.8,4.2

        c-2.9,3.6-6,6.1-9.2,7.6C56.1,63.5,53.1,64.1,50,64.1z M31.3,50c2.9,5.2,7.4,9.3,12.1,11c4.5,1.6,10.2,1.4,14.5-0.5

        c3-1.4,5.8-3.7,8.5-7c0.8-1,1.6-2.2,2.4-3.5c-0.7-1.3-1.6-2.6-2.8-4c-2.6-3.1-5.5-5.4-8.6-6.7c-4.3-1.8-9.8-1.8-14.2-0.2

        C38.5,40.8,34.1,44.9,31.3,50z"

              ></path>

              <path

                class=""

                d="M50,57.8c-4.3,0-7.9-3.5-7.9-7.9c0-4.3,3.5-7.9,7.9-7.9s7.9,3.5,7.9,7.9C57.9,54.3,54.3,57.8,50,57.8z

         M50,43.1c-3.8,0-6.9,3.1-6.9,6.9s3.1,6.9,6.9,6.9c3.8,0,6.9-3.1,6.9-6.9S53.8,43.1,50,43.1z"

              ></path>

              <path

                class=""

                d="M44.8,50.5c-0.3,0-0.5-0.2-0.5-0.5c0-3.1,2.6-5.7,5.7-5.7c0.3,0,0.5,0.2,0.5,0.5s-0.2,0.5-0.5,0.5

        c-2.6,0-4.7,2.1-4.7,4.7C45.3,50.2,45.1,50.5,44.8,50.5z"

              ></path>

            </g>

          </svg>

        </div>



        <div class="c-cursor__svg-wrapper c-cursor__intro">

          <!--?xml version="1.0" encoding="utf-8"?--><!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->

          <svg

            version="1.1"

            id="Livello_1"

            xmlns="http://www.w3.org/2000/svg"

            xmlns:xlink="http://www.w3.org/1999/xlink"

            x="0px"

            y="0px"

            viewBox="0 0 100 100"

            style="enable-background:new 0 0 100 100;"

            xml:space="preserve"

          >

            <style type="text/css">

              .st0 {

                fill: #ffffff;

              }

            </style>



            <g>

              <circle class="" cx="50" cy="50" r="49.5"></circle>

            </g>

          </svg>



          <div class="c-cursor__intro-label">Click to Enter</div>

        </div>

      </div>

    </div>

  </div>`);

    $(document).mousemove(function (e) {

        $(".c-cursor")

            .velocity("stop", true)

            .velocity(

                {

                    translateX: `${e.pageX}px`,

                    translateY: `${e.pageY - $(this).scrollTop()}px`

                },

                100,

                "linear"

            );

        // focus

        if ($(e.target).css("cursor") === "pointer") {

            $(".c-cursor").attr({

                "data-cursor-interactive": true

            });

        } else {

            $(".c-cursor").attr({

                "data-cursor-interactive": false

            });

        }

        //移出屏幕消失

        var maxX = $("body").outerWidth() - 10;

        var minY = 10;

        var maxY = $("#sitecontent").outerHeight() - 10;

        if (e.pageX > maxX || e.pageY <= minY || e.pageY > maxY) {

            $(".c-cursor").attr({

                "data-cursor-hiding": true

            });

        } else {

            $(".c-cursor").attr({

                "data-cursor-hiding": false

            });

        }

    });

}

/* nav横屏滚动 */

function navMove() {

    if ($("#minNavScroll") === 0) return;

    var sly;

    var $frame = $("#minNavScroll");

    $(window).resize(function (e) {

        $frame.sly("reload");

    });

    sly = new Sly($frame, {

        horizontal: 1,

        itemNav: "basic",

        activateMiddle: 1,

        smart: 1,

        activateOn: "click",

        mouseDragging: 1,

        releaseSwing: 1,

        startAt: $("#minNavScroll .navitem>a.active").parent().index(),

        swingSpeed: 0,

        scrollBy: 0,

        scrollTrap: true,

        speed: 200,

        moveBy: 600,

        elasticBounds: 1,

        dragHandle: 1,

        dynamicHandle: 1

    }).init();



    // $("#openBtn")

    //     .off("click")

    //     .on("click", function () {

    //         $("body").toggleClass("openMenu");

    //         if ($("body").hasClass("openMenu")) {

    //             sly.slideTo(

    //                 $("#minNavScroll a.active").offset().left -

    //                 $("#minNavScroll > .nav").offset().left

    //             );

    //         }

    //     });

    $("#navMini").on("mousewheel", function () {

        return false;

    });

}

/* 整屏滚动 */

function singleWheel($pages) {

    var isAnimating = false,

        endCurrPage = false,

        endNextPage = false,

        animEndEventName = "webkitAnimationEnd",

        total = $pages.length;



    var $currPage, $nextPage;

    var currentClass = "pt-page-current";

    var outClassDown = "pt-page-moveToTopEasing";

    var inClassDown = "pt-page-moveFromBottom pt-page-ontop";

    var outClassUp = "pt-page-moveToBottomEasing";

    var inClassUp = "pt-page-moveFromTop pt-page-ontop";


    var speed = $('#indexPage').data('scroll-speed');
    var ease = $('#indexPage').data('scroll-ease');
    var _height = $('.page_contect_editor').outerHeight();

    var titleList = [""];

    $(".bodyindex .ff_indexPage .module .container_header .title").each(

        function () {

            titleList.push($(this).text());

        }

    );

    // titleList.splice(

    //     titleList.length - 1,

    //     0,

    //     $(".bodyindex #indexPage .mcustomize .header .title").text()

    // );



    var str =

        '<div id="moduleControl"><div class="mask"><div class="control_wrap">';

    for (var i = 0; i < total; i++) {

        str += `<div class="moduleCItem"><span></span><a href="#${i}" class="title">${titleList[i]

            }</a></div>`;

    }

    str += "</div></div></div>";



    $("#sitecontent").append(str);

    $("#moduleControl .control_wrap").hover(

        function () {

            $("#moduleControl").addClass("show");

        },

        function () {

            $("#moduleControl").removeClass("show");

        }

    );



    $pages.eq(0).addClass(currentClass);



    var oper = {

        currentDot: function (n) {

            if (n === 0) {

                $("#moduleControl").css({

                    opacity: "0",

                    pointerEvents: "none"

                });

            } else {

                $("#moduleControl").css({

                    opacity: "1",

                    pointerEvents: "auto"

                });

            }

            $("#moduleControl .moduleCItem").each(function () {

                $(this).removeClass("active");

            });

            $("#moduleControl .moduleCItem")

                .eq(n)

                .addClass("active");

            window.location.hash = `${n}`;

        },

        wheel: function (ev) {

            var pageIndex = window.location.hash.slice(1) || 0;

            if (ev.deltaY > 0) {

                if (isAnimating) return false;

                // oper.upWheel()

                window.location.hash = Math.max(0, +pageIndex - 1);

                oper.editorHide()

            } else {

                if (isAnimating) return false;

                // oper.downWheel()

                // 底部新编辑器
                if ($('.page_contect_editor .page_body_editor-wrapper')[0] && $('.page_contect_editor .page_body_editor-wrapper').height() > 0) {
                    pageIndex = Math.min(total, +pageIndex + 1);
                } else {
                    pageIndex = Math.min(total - 1, +pageIndex + 1);
                }


                window.location.hash = pageIndex;

                oper.editorShow()
            }

        },

        onEndAnimation: function ($outpage, $inpage) {

            endCurrPage = false;

            endNextPage = false;

            oper.resetPage($outpage, $inpage);

            isAnimating = false;

        },

        resetPage: function ($outpage, $inpage) {

            $outpage.removeClass(

                "pt-page-moveToTopEasing pt-page-moveToBottomEasing pt-page-current"

            );

            $inpage.removeClass(

                "pt-page-moveFromTop pt-page-moveFromBottom pt-page-delay200 pt-page-ontop"

            );

        },

        //底部新编辑器
        editorShow: function () {
            if (isAnimating) return false;
            if (+window.location.hash.slice(1) === total) {
                isAnimating = true;
                TweenMax.to('#indexPage', speed, {
                    ease: ease, y: -_height, force3D: 1, onComplete: function () {
                        isAnimating = false;
                    }
                });
            }
        },
        editorHide: function () {
            if (isAnimating) return false;
            if (+window.location.hash.slice(1) === total - 1) {
                isAnimating = true;
                TweenMax.to('#indexPage', speed, {
                    ease: ease, y: 0, force3D: 1, onComplete: function () {
                        isAnimating = false;
                    }
                });
            }
        }

    };

    str += "</div></div>";



    $("#moduleControl .moduleCItem").click(function () {

        if (isAnimating) return false;

        $("#moduleControl .moduleCItem").each(function () {

            $(this).removeClass("active");

        });

        $(this).addClass("active");

    });

    var now_index = 0;

    page_go(window.location.hash.slice(1) > total - 1 ? total - 1 : window.location.hash.slice(1));



    function page_go(target) {

        if (!$(".bodyindex").length) return false;

        if (typeof +target !== "number" || !$pages[target]) {

            // window.location.hash = "";

            return false;

        }

        if (now_index == target) return;

        var dir = target > now_index ? "next" : "prev";

        $currPage = $pages.eq(now_index);

        switch (dir) {

            case "prev":

                isAnimating = true;

                $nextPage = $pages.eq(target).addClass(currentClass);

                oper.currentDot(target);

                $currPage.addClass(outClassUp).on(animEndEventName, function () {

                    endCurrPage = true;

                    if (endNextPage) {

                        oper.onEndAnimation($currPage, $nextPage);

                    }

                });

                $nextPage.addClass(inClassUp).on(animEndEventName, function () {

                    $nextPage.off(animEndEventName);

                    endNextPage = true;

                    if (endCurrPage) {

                        oper.onEndAnimation($currPage, $nextPage);

                    }

                });

                break;



            case "next":

                isAnimating = true;

                $nextPage = $pages.eq(target).addClass(currentClass);

                oper.currentDot(target);

                $currPage

                    .addClass(outClassDown)

                    .on(animEndEventName, function () {

                        $currPage.off(animEndEventName);

                        endCurrPage = true;

                        if (endNextPage) {

                            oper.onEndAnimation($currPage, $nextPage);

                        }

                    });



                $nextPage

                    .addClass(inClassDown)

                    .on(animEndEventName, function () {

                        $nextPage.off(animEndEventName);

                        endNextPage = true;

                        if (endCurrPage) {

                            oper.onEndAnimation($currPage, $nextPage);

                        }

                    });

                break;

            default:

                break;

        }

        now_index = target;

    }



    window.onhashchange = function () {

        var target_index = window.location.hash.slice(1);

        if (target_index) {

            page_go(+target_index);

        }

    };

    return {

        init: function ($dom) {

            $dom.on("mousewheel", oper.wheel);

        }

    };

}



//banner进度条 角标数字

function bannerBar() {

    if (!$("#topSlider .content_list").data("owl.carousel")) return false;

    $("#topSlider .content_list").data("owl.carousel").settings.animateIn =

        "fadeIn";

    $("#topSlider .content_list").data("owl.carousel").settings.animateIn =

        "fadeOut";



    var owl = $("#topSlider .content_list");

    var options = owl.data("owl.carousel").options;

    var speed = options.autoplayTimeout - 2000;

    console.log(speed, owl.data("owl.carousel").options);

    var len = $(

        ".bodyindex #indexPage #topSlider .owl-item:not(.cloned) .item_block"

    ).length;

    var str = `<div class="index_wrap">`;

    for (var i = 0; i < len; i++) {

        str += `<div class="current_index">0${i + 1}</div>`;

    }

    str += '<div class="current_index">01</div></div>';

    $("#topSlider .clear").html(str);



    var $index = $(".bodyindex #topSlider .clear .index_wrap");

    var currentIndex, beforeIndex;

    if (speed) {

        $("#topSlider .sliderArrow div")

            .stop()

            .animate(

                {

                    width: "106px"

                },

                speed

            );

        $("#topSlider .content_list").on(

            "initialized.owl.carousel",

            function () {

                $("#topSlider .sliderArrow div")

                    .stop()

                    .animate(

                        {

                            width: "106px"

                        },

                        speed

                    );

            }

        );

        $("#topSlider .content_list").on("translated.owl.carousel", function (

            e

        ) {

            $("#topSlider .sliderArrow div")

                .stop()

                .animate(

                    {

                        width: "106px"

                    },

                    speed

                );

            beforeIndex = e.item.index;

        });

    }



    $("#topSlider .content_list").on("changed.owl.carousel", function (e) {

        $("#topSlider .sliderArrow div").animate(

            {

                width: "0"

            },

            0

        );

        $("#topSlider .content_list .owl-item").each(function () {

            if ($(this).hasClass("active3")) {

                currentIndex = $(this).index();

            }

        });

        currentIndex = e.item.index;

        //数字下标

        pageNum.pageIndex(

            pageNum.getDir(beforeIndex, currentIndex),

            len,

            $index,

            1000

        );

    });

}



//首页banner

function bannerThreejs() {

    if (!$("#topSlider .content_list").data("owl.carousel")) return false;

    $("#topSlider .content_list").data("owl.carousel").settings.animateIn =

        "fadeIn";



    var owl = $("#topSlider .content_list");

    var options = owl.data("owl.carousel").options;

    var speed = options.autoplayTimeout - 2000;

    var len = $(

        ".bodyindex #indexPage #topSlider .owl-item:not(.cloned) .item_block"

    ).length;

    var str = `<div class="index_wrap">`;

    for (var i = 0; i < len; i++) {

        str += `<div class="current_index">0${i + 1}</div>`;

    }

    str += '<div class="current_index">01</div></div>';

    $("#topSlider .clear").html(str);



    var $index = $(".bodyindex #topSlider .clear .index_wrap");

    var currentIndex, beforeIndex;

    if (speed) {

        $("#topSlider .sliderArrow div")

            .stop()

            .animate(

                {

                    width: "106px"

                },

                speed

            );

        $("#topSlider .content_list").on(

            "initialized.owl.carousel",

            function () {

                $("#topSlider .sliderArrow div")

                    .stop()

                    .animate(

                        {

                            width: "106px"

                        },

                        speed

                    );

            }

        );

        $("#topSlider .content_list").on("translated.owl.carousel", function (

            e

        ) {

            $("#topSlider .sliderArrow div")

                .stop()

                .animate(

                    {

                        width: "106px"

                    },

                    speed

                );

            beforeIndex = e.item.index;

        });

    }



    $("#topSlider .content_list").on("changed.owl.carousel", function (e) {

        $("#topSlider .sliderArrow div").animate(

            {

                width: "0"

            },

            0

        );

        $("#topSlider .content_list .owl-item").each(function () {

            if ($(this).hasClass("active3")) {

                currentIndex = $(this).index();

            }

        });

        currentIndex = e.item.index;

        //数字下标

        pageNum.pageIndex(

            pageNum.getDir(beforeIndex, currentIndex),

            len,

            $index,

            1000

        );

    });



    if ($('.bodyindex #topSlider .content_list').data('slider-mode') === 1) {

        var dom = document.querySelector('.bodyindex #topSlider .content_list');

        slider_3d(dom, len);

    }

}



//产品展示sly 横向滚动 底部进度条

function projectOwl() {

    $(".bodyindex #indexPage .project").each(function (i, e) {

        $(".content_list", e).addClass("owl-carousel");

        var owl = $(".content_list", e).owlCarousel({

            items: 4,

            dots: false,

            loop: false,

            nav: false,

            smartSpeed: 600,

            autoWidth: true,

            responsive: {

                1366: {

                    items: 3

                }

            }

        });

    });

}



// 展区分布owl

function serviceOwl() {

    if ($("#indexPage .service .content_list").length === 0) return;

    $("#indexPage .service").each(function (i, e) {

        var n = 0;

        var $item = $(".content_list .item_block", e);

        var count = $(".content_list .item_block", e).length;

        var isClick = true;



        var str = '<div class="owl-dots">';

        for (var i = 0; i < count; i++) {

            str += '<div class="owl-dot"><span></span></div>';

        }

        str += "</div>";



        $(".content_wrapper", e).append(str);

        $(".content_wrapper", e).append(

            '<div class="owl-nav"><div class="owl-prev"><i class="icon iconfont icon-back"></i></div><div class="owl-next"><i class="iconfont icon-more"></i></div></div>'

        );

        $(".content_list .item_block", e)

            .eq(0)

            .addClass("on");

        $(".intr_list .item_wrapper", e)

            .eq(0)

            .addClass("show");

        $(".owl-dot", e)

            .eq(0)

            .addClass("active");



        function moveRight(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offR");

                isClick = true;

            }, 1000);

            $item

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n + 1).addClass("on");

            }



            if (n >= count - 1) {

                n = -1;

            }

            $(".intr_list .item_wrapper", e).each(function () {

                $(this).removeClass("show");

            });

            $(".intr_list .item_wrapper", e)

                .eq(n + 1)

                .addClass("show");

            $(".owl-dot", e).each(function () {

                $(this).removeClass("active");

            });

            $(".owl-dot", e)

                .eq(n + 1)

                .addClass("active");

        }



        function moveLeft(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offL");

                isClick = true;

            }, 1000);

            $item

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n - 1).addClass("on");

            }



            $(".intr_list .item_wrapper", e).each(function () {

                $(this).removeClass("show");

            });

            $(".intr_list .item_wrapper", e)

                .eq(n - 1)

                .addClass("show");

            $(".owl-dot", e).each(function () {

                $(this).removeClass("active");

            });

            $(".owl-dot", e)

                .eq(n - 1)

                .addClass("active");

        }



        var dom = e.querySelector('.container_content .content_list');

        slider_3d(dom, count);

        $(".owl-next", e).on("click", function () {

            if (isClick) {

                isClick = false;

                if (n >= count) {

                    n = 0;

                }

                moveRight(n);

                n++;

            }

        });



        $(".owl-prev", e).on("click", function () {

            if (isClick) {

                isClick = false;

                if (n < 0) {

                    n = count - 1;

                }

                moveLeft(n);

                n--;

            }

        });

    });

}



function slider_3d(dom, count) {

    var num = 0;

    var isAnimating = false;



    function displacementSlider(opts) {

        var vertex =

            "\n        varying vec2 vUv;\n        void main() {\n          vUv = uv;\n          gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n        }\n    ";



        var fragment =

            "\n        \n        varying vec2 vUv;\n\n        uniform sampler2D currentImage;\n        uniform sampler2D nextImage;\n\n        uniform float dispFactor;\n\n        void main() {\n\n            vec2 uv = vUv;\n            vec4 _currentImage;\n            vec4 _nextImage;\n            float intensity = 0.3;\n\n            vec4 orig1 = texture2D(currentImage, uv);\n            vec4 orig2 = texture2D(nextImage, uv);\n            \n            _currentImage = texture2D(currentImage, vec2(uv.x, uv.y + dispFactor * (orig2 * intensity)));\n\n            _nextImage = texture2D(nextImage, vec2(uv.x, uv.y + (1.0 - dispFactor) * (orig1 * intensity)));\n\n            vec4 finalTexture = mix(_currentImage, _nextImage, dispFactor);\n\n            gl_FragColor = finalTexture;\n\n        }\n    ";



        var images = opts.images,

            image = void 0,

            sliderImages = [];

        var canvasWidth = images[0].clientWidth;

        var canvasHeight = images[0].clientHeight;

        var parent = opts.parent;

        var renderWidth = Math.max(

            document.documentElement.clientWidth,

            window.innerWidth || 0

        );

        var renderHeight = Math.max(

            document.documentElement.clientHeight,

            window.innerHeight || 0

        );



        var renderW = canvasWidth,

            renderH = canvasHeight;



        renderH = canvasHeight;



        var renderer = new THREE.WebGLRenderer({

            antialias: false

        });

        renderer.setPixelRatio(window.devicePixelRatio);

        renderer.setClearColor(0x23272a, 1.0);

        renderer.setSize(renderW, renderH);

        parent.appendChild(renderer.domElement);



        var loader = new THREE.TextureLoader();

        loader.crossOrigin = "anonymous";



        images.forEach(function (img) {

            if (img.getAttribute("src")) {

                imageArr = img.getAttribute("src");

            } else {

                imageArr = img.style.backgroundImage.slice(4, -1).replace(/"/g, "");

            }

            image = loader.load(imageArr, function () {

                $(parent).find('img').css({

                    visibility: 'hidden'

                });

                $(parent).find('.item_bg').css({

                    visibility: 'hidden'

                });

            })

            image.magFilter = image.minFilter = THREE.LinearFilter;

            image.anisotropy = renderer.capabilities.getMaxAnisotropy();

            sliderImages.push(image);

        });



        var scene = new THREE.Scene();

        scene.background = new THREE.Color(0x23272a);

        var camera = new THREE.OrthographicCamera(

            renderW / -2,

            renderW / 2,

            renderH / 2,

            renderH / -2,

            1,

            1000

        );



        camera.position.z = 1;



        var mat = new THREE.ShaderMaterial({

            uniforms: {

                dispFactor: {

                    type: "f",

                    value: 0.0

                },

                currentImage: {

                    type: "t",

                    value: sliderImages[0]

                },

                nextImage: {

                    type: "t",

                    value: sliderImages[1]

                }

            },

            vertexShader: vertex,

            fragmentShader: fragment,

            transparent: true,

            opacity: 1.0

        });



        var geometry = new THREE.PlaneBufferGeometry(

            parent.offsetWidth,

            parent.offsetHeight,

            1

        );

        var object = new THREE.Mesh(geometry, mat);

        object.position.set(0, 0, 0);

        scene.add(object);



        var addEvents = function addEvents() {

            $(".owl-nav .owl-next", parent.closest('.content_wrapper')).on("click", function () {

                if (!isAnimating) {

                    isAnimating = true;

                    num++;

                    if (num > count - 1) {

                        num = 0;

                    }

                    imgSwitch(num);

                }

            });



            $(".owl-nav .owl-prev", parent.closest('.content_wrapper')).on("click", function () {

                if (!isAnimating) {

                    isAnimating = true;

                    num--;

                    if (num < 0) {

                        num = count - 1;

                    }

                    imgSwitch(num);

                }

            });
            var sliderNum = 0;
            if ($('.ff_topSlider .content_list.owl-loaded').data('slider-auto') === 1) {
                $("#topSlider .content_list").on("changed.owl.carousel", function (event) {
                    sliderNum++;
                    if (sliderNum > count - 1) {

                        sliderNum = 0;

                    }
                    // imgSwitch(sliderNum);
                });
            }



            function imgSwitch(num) {
                mat.uniforms.nextImage.value = sliderImages[num];

                mat.uniforms.nextImage.needsUpdate = true;



                TweenLite.to(mat.uniforms.dispFactor, 1, {

                    value: 1,

                    ease: "Expo.easeInOut",

                    onComplete: function onComplete() {

                        mat.uniforms.currentImage.value = sliderImages[num];

                        mat.uniforms.currentImage.needsUpdate = true;

                        mat.uniforms.dispFactor.value = 0.0;

                        isAnimating = false;

                    }

                });

            }

        };



        addEvents();



        window.addEventListener("resize", function (e) {

            var canvasWidth = images[0].clientWidth;

            var canvasHeight = images[0].clientHeight;

            renderer.setSize(canvasWidth, canvasHeight);

        });



        var animate = function animate() {

            requestAnimationFrame(animate);

            renderer.render(scene, camera);

        };

        animate();

    }



    $(".item_img img", dom).imagesLoaded(() => {

        var imgs;

        if (dom.querySelectorAll(".item_img img").length !== 0) {

            if ($(dom).closest('.videom')[0]) {
                imgs = Array.from(dom.querySelectorAll(".owl-item:not(.cloned) .item_img img"));
            } else {
                imgs = Array.from(dom.querySelectorAll(".item_img img"));
            }


        } else {

            imgs = Array.from(dom.querySelectorAll(".owl-item:not(.cloned) .item_bg"));

        }

        new displacementSlider(

            {

                parent: dom,

                images: imgs

            }

        );

    });

}



// 动态添加script插件  "//resources.jsmo.xin/templates/upload/13163/js/three.min.js",

function addScript() {
    serviceOwl();

    teamOwl();

    teamDetail();

    bannerThreejs();

    videoThree();


}



//首页团队合作owl

function teamOwl() {

    $("#indexPage .team").each(function (i, el) {

        var n = 0;

        var count = $(".content_list .item_block", el).length;

        var $item = $(".content_list .item_block", el);

        var isClick = true;



        var str = '<div class="owl-dots">';

        for (var i = 0; i < count; i++) {

            str += '<div class="owl-dot"><span></span></div>';

        }

        str += "</div>";



        var screenScale = $("body").width() / 100;

        var dis = 20.8;



        $(".content_wrapper", el).append(str);

        $(".content_wrapper", el).append(

            '<div class="owl-nav"><div class="owl-prev"><i class="icon iconfont icon-back"></i></div><div class="owl-next"><i class="iconfont icon-more"></i></div></div>'

        );

        $(".content_list .item_block", el)

            .eq(0)

            .addClass("on");



        $(".intr_list .item_wrapper", el)

            .eq(0)

            .addClass("show");

        // dot初始化位置

        $(".owl-dot", el).each(function (i) {

            $(this)

                .find("span")

                .css({

                    left: `${dis * (i + 1)}vw`

                });

        });



        function moveRight(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offR");

                isClick = true;

            }, 1000);

            $item

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n + 1).addClass("on");

            }



            if (n >= count - 1) {

                n = -1;

            }

            $(".intr_list .item_wrapper", el).each(function () {

                $(this).removeClass("show");

            });

            $(".intr_list .item_wrapper", el)

                .eq(n + 1)

                .addClass("show");

        }



        function moveLeft(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offL");

                isClick = true;

            }, 1000);

            $item

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n - 1).addClass("on");

            }



            $(".intr_list .item_wrapper", el).each(function () {

                $(this).removeClass("show");

            });

            $(".intr_list .item_wrapper", el)

                .eq(n - 1)

                .addClass("show");

        }



        var dom = el.querySelector('.container_content .content_list');

        slider_3d(dom, count);



        //owl-next dot移动

        $(".owl-next", el).on("click", function () {

            if (isClick) {

                console.log(n);

                isClick = false;

                $(".owl-dot", el).each(function (i, n) {

                    $(n)

                        .find("span")

                        .css({

                            transition: "all 1s ease-out 0s",

                            left: `${(

                                parseInt(

                                    $(this)

                                        .find("span")

                                        .css("left")

                                ) /

                                screenScale -

                                dis

                            ).toFixed(1)}vw`

                        });

                    if (

                        Math.abs(

                            parseFloat(

                                $(n)

                                    .find("span")

                                    .css("left")

                            )

                        ) === 0

                    ) {

                        $(n)

                            .find("span")

                            .css({

                                transition: "none",

                                left: `${dis * (count - 1)}vw`

                            });

                    }

                });

                if (n >= count) {

                    n = 0;

                }

                moveRight(n);

                n++;

            }

        });

        $(".owl-prev", el).on("click", function () {

            if (isClick) {

                isClick = false;

                $(".owl-dot", el).each(function (i, n) {

                    $(n)

                        .find("span")

                        .css({

                            transition: "all 1s ease-out 0s",

                            left: `${(

                                parseFloat(

                                    $(this)

                                        .find("span")

                                        .css("left")

                                ) /

                                screenScale +

                                dis

                            ).toFixed(1)}vw`

                        });

                    if (

                        Math.abs(

                            (

                                parseFloat(

                                    $(n)

                                        .find("span")

                                        .css("left")

                                ) / screenScale

                            ).toFixed(1)

                        ) ===

                        dis * count

                    ) {

                        $(n)

                            .find("span")

                            .css({

                                transition: "none",

                                left: `${dis}vw`

                            });

                    }

                });

                if (n < 0) {

                    n = count - 1;

                }

                moveLeft(n);

                n--;

            }

        });

    });

}



//首页视频

function videoOwl() {

    $("#indexPage .videom").each(function (i, e) {

        $(".tab_content", e).addClass("owl-carousel");

        var owlCon = $(".tab_content", e).owlCarousel({

            items: 1,

            dots: true,

            loop: true,

            nav: true,

            navText: [

                `<i class="icon iconfont icon-back"></i>`,

                `<i class="iconfont icon-more"></i>`

            ],

            smartSpeed: 600,

            animateIn: "fadeIn",

            animateOut: "fadeOut"

            // autoplayHoverPause: true,

            // autoplay: true

        });



        var str = '<div class="index_wrap">';

        var len = $(".owl-item:not(.cloned) .item_block", e).length;

        for (var i = 0; i < len; i++) {

            str += `<div class="current_index">0${i + 1}</div>`;

        }

        str += '<div class="current_index">01</div></div>';

        $(".clear", e).html(str);



        var $index = $(".clear .index_wrap", e);

        var currentIndex, beforeIndex;



        var speed = $(".tab_content", e).data("owl.carousel").options

            .smartSpeed;



        $(".tab_content .details", e).click(function () {

            $(this)

                .parent()

                .click();

            return false;

        });



        owlCon.on("change.owl.carousel", function (e) {

            beforeIndex = e.item.index;

        });



        owlCon.on("changed.owl.carousel", function (e) {

            //数字下标

            currentIndex = e.item.index;

            console.log(beforeIndex, currentIndex);

            pageNum.pageIndex(

                pageNum.getDir(beforeIndex, currentIndex),

                len,

                $index,

                speed

            );

        });



        //缩略图

        var n = 1;

        var $item = $(".tab_button .item_block", e);

        var count = $(".tab_button .item_block", e).length;

        var isClick = true;

        $(".tab_button .item_block", e)

            .eq(1)

            .addClass("on");



        $(".tab_button .item_wrapper", e)

            .eq(1)

            .addClass("show");

        function moveRight(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offR");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n + 1).addClass("on");

            }



            if (n >= count - 1) {

                n = -1;

            }

            $(".tab_button .item_wrapper", e).each(function () {

                $(this).removeClass("show");

            });

            $(".tab_button .item_wrapper", e)

                .eq(n + 1)

                .addClass("show");

        }



        function moveLeft(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offL");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n - 1).addClass("on");

            }



            $(".tab_button .item_wrapper", e).each(function () {

                $(this).removeClass("show");

            });

            $(".tab_button .item_wrapper", e)

                .eq(n - 1)

                .addClass("show");

        }



        $(".owl-next", e).click(function () {

            if (isClick) {

                isClick = false;

                if (n >= count) {

                    n = 0;

                }

                moveRight(n);

                n++;

            }

        });

        $(".owl-prev", e).click(function (e) {

            if (isClick) {

                isClick = false;

                if (n < 0) {

                    n = count - 1;

                }

                moveLeft(n);

                n--;

            }

        });

    });

}

// 首页视频

function videoThree() {

    $("#indexPage .videom").each(function (i, e) {

        $(".tab_content", e).addClass("owl-carousel");

        var owlCon = $(".tab_content", e).owlCarousel({

            items: 1,

            dots: true,

            loop: true,

            nav: true,

            navText: [

                `<i class="icon iconfont icon-back"></i>`,

                `<i class="iconfont icon-more"></i>`

            ],

            smartSpeed: 600,

            animateIn: "fadeIn",

            animateOut: "fadeOut"

        });



        var str = '<div class="index_wrap">';

        var len = $(".owl-item:not(.cloned) .item_block", e).length;

        for (var i = 0; i < len; i++) {

            str += `<div class="current_index">0${i + 1}</div>`;

        }

        str += '<div class="current_index">01</div></div>';

        $(".clear", e).html(str);



        var $index = $(".clear .index_wrap", e);

        var currentIndex, beforeIndex;



        var speed = $(".tab_content", e).data("owl.carousel").options

            .smartSpeed;



        $(".tab_content .details", e).click(function () {

            $(this)

                .parent()

                .click();

            return false;

        });



        owlCon.on("change.owl.carousel", function (e) {

            beforeIndex = e.item.index;

        });



        owlCon.on("changed.owl.carousel", function (e) {

            //数字下标

            currentIndex = e.item.index;

            console.log(beforeIndex, currentIndex);

            pageNum.pageIndex(

                pageNum.getDir(beforeIndex, currentIndex),

                len,

                $index,

                speed

            );

        });



        var dom = e.querySelector('.container_content .tab_content .owl-stage-outer');

        slider_3d(dom, len);

    });

}



//新闻中心

function newsSly() {

    $(".bodyindex #indexPage .news").each(function (i, e) {

        $(e).find('.content_list').addClass("owl-carousel");

        var owl = $(e).find('.content_list').owlCarousel({

            item: 3,

            dots: false,

            loop: false,

            nav: false,

            autoWidth: true,

            smartSpeed: 600,

            onInitialized: fixOwlCarousel,

            onRefreshed: fixOwlCarousel

        });

        var fixOwlCarousel = function () {

            stage = $('.owl-stage', e);

            console.log(stage)

            stage.width(stage.width() * 2);

        }

        // $(e).find('.content_list').owlCarousel({ autoWidth: true }).trigger('refresh.owl.carousel');

        // var $frame = $(".content_wrapper", e);

        // var BarW, scale;

        // var sly = new Sly($frame, {

        //     horizontal: 1,

        //     itemNav: "centered",

        //     activateMiddle: 1,

        //     smart: 1,

        //     activateOn: "click",

        //     mouseDragging: 1,

        //     releaseSwing: 1,

        //     startAt: null,

        //     swingSpeed: 0,

        //     scrollBy: 0,

        //     scrollTrap: true,

        //     speed: 200,

        //     moveBy: 600,

        //     elasticBounds: 1,

        //     dragHandle: 1,

        //     dynamicHandle: 1

        // }).init();

        // // 进度条相关参数

        // BarW = $("#header").width();

        // scale = BarW / sly.pos.end;

        // // sly reload

        // $(window).resize(function (e) {

        //     $frame.sly("reload");

        //     //进度条参数reload

        //     BarW = $("#header").width();

        //     scale = BarW / sly.pos.end;

        // });

        // //底部进度条

        // sly.on("move", function () {

        //     $(".module_container .clear", e).css({

        //         width: this.pos.cur * scale + "px"

        //     });

        // });



        var isAnimate = true;

        $(".item_block span.details", e).hover(

            function () {

                $(this)

                    .parents(".item_box")

                    .find(".item_img img")

                    .css({

                        transform: "rotateZ(-50deg) translate3d(-50%,-120%,0)"

                    });

                $(this)

                    .parents(".item_box")

                    .find(".item_img")

                    .velocity(

                        {

                            opacity: "1",

                            rotateZ: [0, 50],

                            translateX: [0, "50%"],

                            translateY: [0, "120%"]

                        },

                        {

                            duration: 600

                        }

                    );

                $(this)

                    .parents(".item_box")

                    .find(".item_img img")

                    .velocity(

                        {

                            rotateZ: [0, -50],

                            translateX: [0, "-50%"],

                            translateY: [0, "-120%"]

                        },

                        {

                            queue: false,

                            duration: 600

                        }

                    )

                    .velocity(

                        {

                            scale: [1, 2]

                        },

                        {

                            duration: 900,

                            queue: false,

                            easing: [0.19, 1, 0.22, 1]

                        }

                    );

            },

            function () {

                $(this)

                    .parents(".item_box")

                    .find(".item_img")

                    .velocity("stop", true)

                    .velocity(

                        {

                            opacity: 0

                        },

                        500

                    );

            }

        );

    });

}

// 团队详情

function teamDetail() {

    $(".bodylistpost.bodyteam").each(function (i, e) {

        var n = 0;

        var count = $(".team .tab_content .item_block", e).length;

        var $item = $(".team .tab_content .item_block", e);

        var isClick = true;

        $(".team .postSlider_wrapper", e).append(

            '<div class="owl-nav"><div class="owl-prev"><i class="icon iconfont icon-back"></i></div><div class="owl-next"><i class="iconfont icon-more"></i></div></div>'

        );

        $(".team .tab_content .item_block", e)

            .eq(0)

            .addClass("on");



        function moveRight(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offR");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n + 1).addClass("on");

            }



            if (n >= count - 1) {

                n = -1;

            }

        }



        function moveLeft(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offL");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n - 1).addClass("on");

            }

        }

        var dom = e.querySelector(

            ".team .container_content .postSlider_wrapper .tab_content"

        );



        slider_3d(dom, count);

        //owl-next

        $(".team .owl-next", e).click(function () {

            if (isClick) {

                isClick = false;

                if (n >= count) {

                    n = 0;

                }

                moveRight(n);

                n++;

            }

        });

        // owl-prev

        $(".team .owl-prev", e).click(function (e) {

            if (isClick) {

                isClick = false;

                if (n < 0) {

                    n = count - 1;

                }

                moveLeft(n);

                n--;

            }

        });

    });

}



$(function () {

    //首页新闻去除owl插件

    $("#indexPage .news.ff_slider .content_list").each(function (i, e) {
        if ($(e).hasClass('.ff_slider')) {
            $(e)

                .data("owl.carousel")

                .destroy();

            $(e).removeClass("owl-carousel owl-theme");
        }

    });

    //团队详情去除owl插件

    $("#sitecontent .npagePage .team .tab_content").each(function (i, e) {

        $(e)

            .data("owl.carousel")

            .destroy();

        $(e).removeClass("owl-carousel");

    });

    //艺术品详情去除owl插件

    $("#sitecontent .npagePage .project .tab_button").each(function (i, e) {

        if (

            $("#sitecontent .npagePage .project .tab_content").data(

                "owl.carousel"

            )

        ) {

            $(e)

                .data("owl.carousel")

                .destroy();

            $(e).removeClass("owl-carousel");

        }

        $("#sitecontent .project .tab_button .item_block").removeClass(

            "active current"

        );

    });

    searchBar();

    focusCircle();

    navMove();

    singleWheel($("#indexPage .module")).init($("#longPage.bodyindex"));

    // bannerBar();

    projectOwl();

    addScript();

    // videoOwl();

    newsSly();

    projectList();

    // proDetailsSly()

    // teamListOwl()

});



/**

 *

 * ff 2019-04-16 13:22:26

 * project_list_page

 *

 */

{

    function initMasonry(dom) {

        var masonryCon = $(".content_list", dom);

        var $grid = masonryCon.masonry({});

        $grid.imagesLoaded().progress(function () {

            $grid.masonry("layout");

        });

    }

    $(function project_list_page() {

        $(".bodylist.bodyproject").each(function (i, e) {

            initMasonry(e);

        });

    });

}



/**

 *

 * ff 2019-04-16 13:22:26

 * project_post_page

 *

 */

{

    function projectList() {

        if (

            $("#sitecontent .npagePage .project .tab_content .item_block")

                .length < 2

        ) {

            return false;

        }

        $("#sitecontent .npagePage .project .tab_button").show();

        var n = 0;

        var count = $(

            "#sitecontent .npagePage .project .tab_content .item_block"

        ).length;

        var $item = $(

            "#sitecontent .npagePage .project .tab_content .item_block"

        );

        var $butten = $(

            "#sitecontent .npagePage .project .tab_button .item_block"

        );

        var isClick = true;



        $("#sitecontent .npagePage .project .postSlider").append(

            '<div class="owl-nav"><div class="owl-prev"><i class="icon iconfont icon-back"></i></div><div class="owl-next"><i class="iconfont icon-more"></i></div></div>'

        );

        $("#sitecontent .npagePage .project .tab_content .item_block")

            .eq(0)

            .addClass("on");

        $("#sitecontent .npagePage .project .tab_button .item_block")

            .eq(0)

            .addClass("on");



        function moveRight(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offR");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n + 1).addClass("on");

            }

            setTimeout(() => {

                $butten.eq(n).removeClass("offR");

                isClick = true;

            }, 1500);

            $butten

                .eq(n)

                .addClass("offR")

                .removeClass("on");

            if (n + 1 >= count) {

                $butten.eq(0).addClass("on");

            } else {

                $butten.eq(n + 1).addClass("on");

            }



            if (n >= count - 1) {

                n = -1;

            }

        }



        function moveLeft(n) {

            setTimeout(() => {

                $item.eq(n).removeClass("offL");

                isClick = true;

            }, 1500);

            $item

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $item.eq(0).addClass("on");

            } else {

                $item.eq(n - 1).addClass("on");

            }

            setTimeout(() => {

                $butten.eq(n).removeClass("offL");

                isClick = true;

            }, 1500);

            $butten

                .eq(n)

                .addClass("offL")

                .removeClass("on");

            if (n - 1 >= count) {

                $butten.eq(0).addClass("on");

            } else {

                $butten.eq(n - 1).addClass("on");

            }

        }

        //owl-next

        $("#sitecontent .npagePage .project .owl-next").click(function () {

            if (isClick) {

                isClick = false;

                if (n >= count) {

                    n = 0;

                }

                moveRight(n);

                n++;

            }

        });

        // owl-prev

        $("#sitecontent .npagePage .project .owl-prev").click(function (e) {

            if (isClick) {

                isClick = false;

                if (n < 0) {

                    n = count - 1;

                }

                moveLeft(n);

                n--;

            }

        });

    }

    function initSlider(dom) {

        var sliderCon = $(".mlist  .content_list", dom);

        var sliderApp = sliderCon

            .addClass("owl-carousel owl-theme")

            .owlCarousel({

                center: false,

                items: 4,

                loop: false,

                autoWidth: false,

                nav: false,

                dots: false,

                smartSpeed: 800,

                margin: 42

            });

    }

    $(function project_post_page() {

        $(".bodylistpost.bodyproject").each(function (i, e) {

            initSlider(e);

            projectList();

        });

    });

}



/**

 *

 * ff 2019-04-16 13:22:26

 * project_post_page

 *

 */

{

    function initSlider(dom) {

        var sliderCon = $(".mlist  .content_list", dom);

        var sliderApp = sliderCon

            .addClass("owl-carousel owl-theme")

            .owlCarousel({

                center: false,

                items: 4,

                loop: false,

                autoWidth: false,

                nav: false,

                dots: false,

                smartSpeed: 800,

                margin: 42

            });

    }

    $(function project_post_page() {

        $(".bodylistpost.bodyproject").each(function (i, e) {

            initSlider(e);

        });

    });

}



/**

 *

 * ff 2019-04-16 13:52:41

 * service_post_page

 *

 */



{

    function initMasonry(dom) {

        var masonryCon = $(".post_imgs", dom);

        var $grid = masonryCon.masonry({});

        $grid.imagesLoaded().progress(function () {

            $grid.masonry("layout");

        });

    }

    function initImgGallery(dom) {

        var imgGallery = $(

            '<div class="imgGallery"><div class="imgGallery_wrapper"> <div class="_prev btn"> <i class="fa fa-angle-left"></i> </div> <img src=""> <div class="_next btn"><i class="fa fa-angle-right"></i></div></div>'

        );

        imgGallery.appendTo("body");

        var imgWrapper = imgGallery.find("img");

        var imgFace = imgGallery.find("img");

        var wheelEvent =

            (document.implementation.hasFeature("Event.wheel", "3.0")

                ? "wheel."

                : "mousewheel.") + "scroll";

        imgGallery.on(wheelEvent, function () {

            return false;

        });



        var imgs = $(dom).find(".post_imgs img");

        imgs.on("click", function (ev) {

            var index = imgs.index(this);



            imgGallery.addClass("open");

            var pos = this.getBoundingClientRect();



            var roate =

                ev.currentTarget.clientWidth / ev.currentTarget.clientHeight;

            var type;

            if (roate * $(window).height() > $(window).width()) {

                // imgGallery.find('img').addClass('w');

                type = "w";

            }

            if ($(window).width() / roate > $(window).height()) {

                // imgGallery.find('img').addClass('h');

                type = "h";

            }

            imgFace.on("load", function () {

                imgGallery.find("img").addClass(type);

                requestAnimationFrame(function () {

                    imgGallery.addClass("center");

                });

            });

            imgFace.attr("src", $(this).attr("src"));



            imgFace.css({

                left: pos.left,

                top: pos.top,

                width: type === "w" || !type ? pos.width : "",

                height: type === "h" || !type ? pos.height : ""

            });

            $(".btn", imgGallery)

                .off("click")

                .on("click", function () {

                    if ($(this).hasClass("_next")) {

                        index = Math.min(imgs.length - 1, index + 1);

                    } else {

                        index = Math.max(0, index - 1);

                    }

                    console.log(index, imgs.length);

                    // if (!imgs.eq(index).length) {

                    //     return false

                    // };

                    var pos = imgs.eq(index)[0].getBoundingClientRect();

                    imgFace.attr("src", imgs.eq(index).attr("src"));



                    imgFace.css({

                        left: pos.left,

                        top: pos.top,

                        width: type === "w" || !type ? pos.width : "",

                        height: type === "h" || !type ? pos.height : ""

                    });



                    return false;

                });

            imgFace.on("click", function () {

                return false;

            });

        });

        imgGallery.on("click", () => {

            imgGallery.find("img");

            imgGallery.removeClass("center");

            setTimeout(() => {

                imgGallery.removeClass("open");

                imgFace.css({

                    left: "",

                    top: "",

                    width: "",

                    height: ""

                });

            }, 1000);

        });

    }

    $(function project_post_page() {

        $(".bodylistpost.bodyservice").each(function (i, e) {

            initMasonry(e);

            initImgGallery(e);

        });

    });

}



/**

 *

 * ff 2019-04-16 14:33:39

 * team_list_page

 *

 */

{

    function init(dom) {

        var target = 0;

        var btns = $(".intr_list .item_wrapper", dom);

        $(".content_list .item_block").off("animationend");

        $(".content_list .item_block").off("webkitAnimationEnd");

        $(".content_list .item_block")

            .removeClass("wow")

            .css("visibilty", "hidden");

        $(".content_list .item_block", dom)

            .eq(0)

            .addClass("active");

        function change(index) {

            $(".content_list .item_block", dom).removeClass("active");

            $(".content_list .item_block", dom)

                .eq(index)

                .addClass("active");



            $(".content_list .item_block", btns).removeClass("active");

            $(".content_list .item_block", btns)

                .eq(index)

                .addClass("active");

        }

        btns.on("mouseenter", function () {

            var index = $(this).index();

            target = index;

            change(index);

        });

        var btns = $(

            "<div class='dirBtns'><div class='prev'><i class='fa fa-angle-top'></i></div><div class='next'><i class='fa fa-angle-bottom'></i> </div></div>"

        ).appendTo($(dom).find(".team "));

        btns.on("click", ".prev", function () {

            target--;

            target = Math.max(0, target);



            change(target);

        });

        btns.on("click", ".next", function () {

            target--;

            target = Math.min(

                target,

                $(".content_list .item_block", dom).length - 1

            );

            change(target);

        });



        $(".intr_list").mCustomScrollbar();

    }

    $(function team_list_page() {

        $(".bodylist.bodyteam").each(function (i, e) {

            init(e);

        });

    });

}



/**

 *

 * ff 2019-04-16 14:33:39

 * post_page

 *

 */

{

    $(function () {

        $(".bodylistpost").each(function () { });

    });

}


options.headerHover = {

    name: "headerHover",

    css: '',

    fn: function headerHover() {

        var _this = this,

            $listPar = $('#minNavWrapper .nav'),

            $moveEl,

            $moveShow,

            $headerNavList = $('#minNavWrapper .nav>.navitem'),

            $choiseItem = $('#minNavWrapper .nav>.navitem>.active').closest('.navitem');



        function getWidth(el) {



            return $(el).width();

        }



        function getPos(el) {



            return $(el).position();

        }



        function getPadding($el) {

            return $el.css('padding');

        }

        (function createMoveEl($el) {



            $moveEl = $('<li class="jsMoveEl"><span></span></li>').appendTo('#minNavWrapper .nav');

            console.log($moveEl);

            $moveShow = $moveEl.find('span');

            // console.log(getPos($choiseItem).left)

            $listPar.css('position', 'relative');

            $moveEl.css({

                position: 'absolute',

                left: getPos($choiseItem).left,

                //后加的位置处理

                margin: getPadding($headerNavList.eq(0)),

                width: getWidth($choiseItem),

                height: '2px',

                // 后修改z-index:1

                'z-index': 1

            });

            $moveShow.css({



                position: 'absolute',

                left: '0',

                right: 0,

                top: '0',

                margin: 'auto',

                width: '100%',

                height: '2px',

                'z-index': -1

            });

        })();



        $headerNavList.on('mouseenter', function () {



            var _this = this,

                $subNav = $(this).find('.subnav:not(:animated)');



            if ($subNav[0]) {

                // $subNav.slideDown(200);

                $moveEl.stop().animate({



                    width: getWidth(_this),

                    left: getPos(_this).left,

                    // 子菜单subnav修改-原数值为0

                    opacity: 1

                });

                $subNav.addClass('hover');

            } else {



                $moveEl.stop().animate({



                    width: getWidth(_this),

                    left: getPos(_this).left,

                    opacity: 1

                });

            }

            $moveShow.stop().animate({



                width: '100%',

                opacity: '1'

            });

        });



        // $headerNavList.on('mouseleave', function () {

        //     var $subNav = $(this).find('.subnav');

        //     if ($subNav.length) {



        //         $subNav.slideUp();

        //     }

        // });

        var $subNav = $headerNavList.find('.subnav');

        $subNav.removeClass('hide');

        $subNav.find('li').each(function (i, n) {

            $(this).css({

                transition: `.36s ease-out ${i * 0.2}s`

            })

        })



        $listPar.on('mouseleave', function () {

            $moveEl.stop().animate({



                width: getWidth($choiseItem),

                left: getPos($choiseItem).left

            });

            $subNav.removeClass('hover');

        });

    }

};
options.postSliderThemb = {

    name: "postSliderThemb",

    css: '\n  #postSlider{position: relative}      #postSlider .owl-prev:hover #sliderDotThemb,\n        #postSlider .owl-prev:hover #postSliderThemb {\n            visibility: visible;\n            opacity: 1\n        }\n        #postSliderThemb,\n        #sliderDotThemb {\n            width: 100px;\n            height: 50px;\n            position: absolute;\n            border: 3px solid #fff;\n            visibility: hidden;\n            opacity: 0;\n            box-sizing: border-box;\n            transition: visibility 0.36s ease, opacity 0.36s ease;\n        } \n        \n        #postSliderThemb.dot,\n        #sliderDotThemb.dot {\n            top: auto !important;\n            bottom: 40px;\n            transition: all 0.36s ease;\n            transform: translateX(-50%);\n        }\n        #postSliderThemb.dir,\n        #sliderDotThemb.dir {\n            bottom: auto !important;\n        }\n        #postSliderThemb .owl-item .thumb-item,\n        #sliderDotThemb .owl-item .thumb-item {\n            width: 100px;\n            height: 44px;\n            background-position: center center;\n            background-size: cover;\n        }\n        #postSliderThemb .owl-dots,\n        #sliderDotThemb .owl-dots {\n        }\n        #postSliderThemb .owl-stage-outer,\n        #sliderDotThemb .owl-stage-outer {\n        }\n        #postSliderThemb.showStage,\n        #sliderDotThemb.showStage {\n            visibility: visible;\n            opacity: 1\n        }\n    ',

    fn: function postSliderThemb(dir, dom) {

        if (!dom || !dom.length) return false;

        console.log('postSliderThemb');

        var thembImages = [],

            topSliderDirThumbApp;

        var $itemBg = $('#postSlider .owl-item:not(.cloned) .item_block img');

        var html = '<div id="postSliderThemb" class="topSliderThumb owl-carousel owl-theme">';

        var npostSliderApp = $('#postSlider .tab_content').data('slider');

        $itemBg.each(function (i, el) {

            html += '<div class="thumb-item" style="background-image:url(' + $(el).attr('src') + ')"></div>';

            thembImages.push($(el).data('thumb'));

        });

        html += '</div>';



        console.log(html);

        postSliderDirThumbApp = $(html).appendTo($('#postSlider')).owlCarousel({

            center: false,

            items: 1,

            loop: true,

            margin: 10,

            autoWidth: false,

            nav: false,

            responsive: false,

            dots: false

        });



        $('#postSlider').find('.owl-prev').add($('#postSlider').find('.owl-next')).on({

            mouseenter: function mouseenter() {

                var _this = this,

                    nowIndex = $('#postSlider .owl-dots .owl-dot.active').index();



                if ($(_this).hasClass('owl-prev')) {

                    nowIndex -= 1;

                } else if ($(_this).hasClass('owl-next')) {

                    nowIndex += 1;

                }

                postSliderDirThumbApp.trigger('to.owl.carousel', [nowIndex]);

                npostSliderApp.on('changed.owl.carousel', function (event) {

                    var item = event.item.index;

                    if ($(_this).hasClass('owl-prev')) { } else if ($(_this).hasClass('owl-next')) {

                        item -= 1;

                    }

                    postSliderDirThumbApp.trigger('to.owl.carousel', [item]);

                });

                console.log(dir);

                $('#postSliderThemb').removeClass('dot').addClass(function () {

                    if ($(_this).hasClass('.owl-prev')) {

                        return 'prev-dir dir showStage';

                    } else {

                        return 'next-dir dir showStage';

                    }

                }).css({

                    left: function left() {

                        if (dir == 'top') {



                            return tools.getRelPos("#postSlider", _this).left + ($(_this).outerWidth() - $(this).outerWidth()) / 2;

                        } else if (dir == 'LR') {

                            if ($(_this).offset().left + $('#postSliderThemb').outerWidth() + $(_this).outerWidth() >= $(window).width()) {



                                console.log(tools.getRelPos("#postSlider", _this).left, 'left');

                                return tools.getRelPos("#postSlider", _this).left - $('#postSliderThemb').outerWidth();

                            } else {

                                console.log(tools.getRelPos("#postSlider", _this).left, 'left');



                                return tools.getRelPos("#postSlider", _this).left + $(_this).outerWidth();

                            }

                        }

                    },

                    top: function top() {

                        if (dir == 'LR') {



                            return tools.getRelPos("#postSlider", _this).top + ($(_this).outerHeight() - $(this).outerHeight()) / 2;

                        } else if (dir == 'top') {



                            return tools.getRelPos("#postSlider", _this).top - $(this).outerHeight();

                        }

                    }

                });

                if (dir === 'top') {

                    $('#postSliderThemb').css({

                        'transition': 'left 0.36s ease'

                    });

                }

            },

            mouseleave: function mouseleave() {



                $('#postSliderThemb').removeClass('showStage');

            }

        })

    }

};


options.normalTeamTabs = {
    name: "normalTeamTabs",
    css: '',
    fn: function (option, haveBtn) {
        var initOption = {
            center: false,
            items: 1,
            loop: false,
            autoWidth: false,
            responsive: false,
            nav: true,
            dots: true,
            smartSpeed: 800,
            navText: ['<i class="icon iconfont icon-back"></i>', '<i class="iconfont icon-more"></i>']
        };
        $.extend(initOption, option, true);
        var teamTabsSliderApp = $('.ff_indexPage .team_tabs .tab_content .content_list').addClass('owl-carousel owl-theme').owlCarousel(initOption);
        if (haveBtn) {
            $('.ff_indexPage .team_tabs .tab_button .item_block').click(function () {
                var _this = this;
                var index = $(this).index();
                teamTabsSliderApp.trigger('to.owl.carousel', [index]);
            });
        }
    }
};
options.searchForm = {
    name: "searchForm",
    css: '',
    fn: function searchForm(option) {
        var onOffBtn = $('#search-nav .searchOnOff');
        var searchEv = {
            searchShow: function searchShow() {
                var search_e = this,
                    timer,
                    logoW = $('#headTop').outerWidth(true);

                onOffBtn.click(function () {

                    $('#navWrapper .nav').addClass('navShow');
                    $('#search-nav').addClass('navShow');
                    $('.bodyMask').addClass('open');
                    $('.searchGroup input').off().click(function (ev) {

                        ev.cancelBubble = true;
                        return false;
                    });
                    $('body').off().on({
                        'mousewheel.stopScroll': function mousewheelStopScroll() {
                            return false;
                        }
                    });
                    timer = setInterval(function () {
                        console.log($('#navWrapper .nav').find('.navitem').eq(0).css('opacity'));
                        if ($('#navWrapper .nav').find('.navitem').eq(0).css('opacity') <= 0.02) {
                            $('#navWrapper .nav').addClass('navStop');
                            if (option.type == 'LR') {
                                $('#search-nav').css({
                                    left: logoW
                                });
                            }
                            $('#search-nav').addClass('navStop').find('input').focus();
                            $('body').off().on({
                                'click.hideSearch': function clickHideSearch() {
                                    search_e.searchHide();
                                }
                            });

                            clearInterval(timer);
                        }
                    }, 100);
                });
            },
            searchHide: function searchHide() {
                var search_e = this,
                    time;
                $('#navWrapper .nav').addClass('navHide');
                $('#search-nav').addClass('navHide');
                $('.bodyMask').removeClass('open');
                $('body').off('mousewheel.stopScroll');
                $('body').off('click.hideSearch');
                if (option.type == 'LR') {
                    $('#search-nav').css({
                        left: 'auto'
                    });
                }
                timer = setInterval(function () {
                    if ($('#search-nav.navHide').css('opacity') >= 0.98) {
                        $('#navWrapper .nav').removeClass('navShow navStop navHide');
                        $('#search-nav').removeClass('navShow navStop navHide');
                        clearInterval(timer);
                    }
                }, 100);
            },
            searchNormal: function searchNormal() {
                onOffBtn.click(function () {
                    $('#search-nav').toggleClass('search-open');
                });
            }
        };

        switch (option.style) {
            case 'one':

                searchEv.searchShow();
                break;
            case 'two':

                searchEv.searchNormal();
                break;
            default:
                break;
        }
    }
};
options.headerHoverBase = {

    name: "headerHoverBase",

    css: '',

    fn: function headerHoverBase(el) {

        $(el).find('.nav>.navitem').on({

            'mouseenter': function () {

                $(this).addClass('isHover');

            },

            'mouseleave': function () {

                $(this).removeClass('isHover');

            }

        });

        $(el).find('.subnav>li').on({

            'mouseenter': function () {

                $(this).closest('.navitem').addClass('isSubHover');

            },

            'mouseleave': function () {

                $(this).closest('.navitem').removeClass('isSubHover');

            }

        })

    }

};
options.teamTabPop = {
    name: "teamTabPop",
    css: '',
    fn: function teamTabPop() {
        $('.team_tabs .tab_content .item_block').on('click', 'a', function (ev) {
            ev.preventDefault();
        });
        $('.team_tabs .tab_content .item_block').on('click', function () {
            var alertDom = $('<div class = "mlist" style="width:500px;"><div class="content_list"></div></div>');
            alertDom.find('.content_list').append($('.team_tabs .tab_content .item_block').clone().removeClass('wow'))

            tools.alertBx(alertDom, function () {
                alertDom.find('.content_list').addClass('owl-carousel owl-theme').owlCarousel({
                    center: false,
                    items: 1,
                    loop: false,
                    autoWidth: false,
                    responsive: false,
                    nav: true,
                    dots: false,
                    smartSpeed: 800,
                    navText: ['<i class="icon iconfont icon-back"></i>', '<i class="iconfont icon-more"></i>']
                });
            });

        });
    }
};












Math.tween = {

    Linear: function (x, t, b, c, d) {

        return c * t / d + b;

    }, easeOut: function (x, t, b, c, d) { //减速曲线

        return -c * (t /= d) * (t - 2) + b;

    },

    mcsEaseOut: function (x, t, b, c, d) {

        var ts = (t /= d) * t,

            tc = ts * t;

        return b + c * (0.499999999999997 * tc * ts + -2.5 * ts * ts + 5.5 * tc + -6.5 * ts + 4 * t);

    }

}

// $.extend(jQuery.easing, Tween);





$.extend({

    miniAnimate: function (form, dis, time, fn) {



        var AniTimer, run, _this = this,

            t, nextPos, obj;

        if (!t) t = 0;

        // cancelAnimationFrame(AniTimer);

        run = function () {

            t += 17;

            nextPos = Math.tween.mcsEaseOut(null, t, form, dis, time);

            fn(nextPos);

            if (t >= time) {

                t = time;

                fn(form + dis);

            } else {

                AniTimer = requestAnimationFrame(run)

            }

        };

        obj = {

            begin: function () {

                run();

            },

            stop: function () {

                cancelAnimationFrame(AniTimer);

                t = 0;

                console.log('stop')

            }

        };

        return obj;

    }

});































for (var key in options) {

    if (options.hasOwnProperty(key)) {

        var item = options[key];

        if (item.css) {

            newStyleContent[key] = item.css;

        }

        if (item.fn) {

            job[key] = item.fn;

        }

    }

}



var tools = {

    getRelPos: function getRelPos(el1, el2) {

        console.log(el1);

        var el1Pos = $(el1).offset(),

            el2Pos = $(el2).offset();

        return {

            left: Math.round(el2Pos.left - el1Pos.left),

            top: Math.round(el2Pos.top - el1Pos.top)

        };

    },

    hideEl: function hideEl(el, pos) {

        $(window).scroll(function (ev) {

            var scrollPos = $(window).scrollTop();

            if (pos < scrollPos) {

                $(el).removeClass('outPos').addClass('inPos');

            } else {

                $(el).removeClass('inPos').addClass('outPos');

            }

        });

    },

    tabActive: function tabActive($el, className) {

        className = className || 'active';

        $el.siblings().removeClass(className);

        $el.addClass(className);

    },

    getTransfrom: function (el, attr) {

        let str = el.style.transform;

        let pattern = new RegExp(attr + "\\((-?[0-9]+\\.?[0-9]{0,2}).*\\)");

        str.match(pattern);



        return RegExp.$1;

    },

    alertBx: function alertBx($dom, fn) {

        var $el = $('<div class="ff_bodyMask"><div class="ff_bodyMask-content mlist"></div></div>');

        $el.find('.ff_bodyMask-content').append($dom);

        $el.appendTo($('body')).fadeIn()

            .on({

                'mousewheel.stopScroll': function mousewheelStopScroll() {

                    return false;

                },

                'click.closeMask': function closeMask(ev) {

                    if (ev.target == $(this)[0]) {

                        $(this).off().fadeOut();

                    }

                }

            }).find('.ff_bodyMask-content');



        fn && fn();

    },

    dragEl: function (el, evList, limit) {

        var endMove;

        var upDataLimit = function (newData) {

            limit.area = newData;

        };

        var initEv = {

            dragEv: function (ev) {

                var tra,

                    endEv,

                    endPos = {},

                    toX = ev.changePos.x + ev.transformPos.x,

                    toY = ev.changePos.y + ev.transformPos.y;



                console.log(toX, ev.changePos.x, ev.transformPos.x);

                if (limit.area.x) {

                    if (toX <= limit.area.x) {

                        toX = limit.area.x - Math.sqrt(2 * Math.abs(toX - limit.area.x) / 0.1);

                        endPos.x = limit.area.x;

                    }

                    console.log(limit.area.x);

                    if (toX >= 0) {

                        toX = Math.sqrt(2 * toX / 0.1);

                        endPos.x = 0;

                    }

                }



                if (limit.area.y) {



                    if (toY <= limit.area.y) { toY = limit.area.y[0]; }

                    if (toY >= 0) { toY = 0; }

                }

                if (limit.dir == 'x') {



                    tra = 'translateX(' + toX + 'px)';

                } else if (limit.dir == 'y') {



                    tra = 'translateY(' + toY + 'px)';

                } else {



                    tra = 'translateX(' + toX + 'px) translateY(' + toY + 'px)';

                };



                $(this).css({

                    transform: tra

                });

                return endPos;

            }

        };

        $(el).on({

            'mousedown': function (ev) {

                var changePos, endPos, endChangePos, drageTime, moveSpeed;

                var initPos = {

                    x: ev.clientX,

                    y: ev.clientY

                };

                var transformPos = {

                    x: +tools.getTransfrom($(el)[0], 'translateX'),

                    y: +tools.getTransfrom($(el)[0], 'translateY'),

                };

                ev.initPos = initPos;

                $(el).css({

                    transition: "0s"

                });

                if (typeof endMove != 'undefined') {

                    endMove.stop();

                    moveSpeed = 0;

                }

                evList.begin && evList.begin.call($(el)[0], ev);





                $('body').on({

                    'mousemove.drage': function (ev) {

                        moveSpeed = 0;

                        var movePos = {

                            x: ev.clientX,

                            y: ev.clientY

                        };

                        if (changePos) {

                            endChangePos = {

                                x: changePos.x - (movePos.x - initPos.x)

                            };

                            moveSpeed = endChangePos.x / ((+new Date()) - drageTime);

                            // console.log(moveSpeed, 'moveSpeed');

                            // console.log(moveSpeed,endChangePos.x, (+new Date()) - drageTime, 'moveS');

                        }

                        changePos = {

                            x: movePos.x - initPos.x,

                            y: movePos.y - initPos.y

                        };

                        drageTime = +new Date();

                        ev.movePos = movePos;

                        ev.changePos = changePos;

                        ev.transformPos = transformPos;

                        endPos = initEv.dragEv.call($(el)[0], ev);

                        evList.change && evList.change.call($(el)[0], ev);

                    },

                    'mouseup.drage': function (ev) {

                        $(this).off('mousemove.drage');

                        $(this).off('mouseup.drage');

                        if (typeof endMove != 'undefined') {

                            endMove.stop();

                        }

                        var str = '';

                        if (endPos && typeof endPos.x != 'undefined') {

                            str += 'translateX(' + endPos.x + 'px)';

                        }

                        if (endPos && typeof endPos.y != 'undefined') {



                            str += 'translateY(' + endPos.y + 'px)';

                        }

                        if (str) {

                            $(el).css({

                                transition: '0.5s',

                                transform: str

                            });

                        }

                        else {

                            $(el).css({

                                transition: '0s',

                            });

                            console.log(moveSpeed, 'moveSpeed')

                            if (Math.abs(changePos.x) < 50 || Math.abs(moveSpeed) <= 0.2) return;

                            var startPos = +tools.getTransfrom($(el)[0], 'translateX');

                            var dis = startPos > 0 ? +(moveSpeed * 400) : -(moveSpeed * 400);

                            endMove = $.miniAnimate(Math.floor(startPos), Math.floor(dis), 1000, function (a) {

                                var ceshi = Math.ceil(+a);

                                if (ceshi <= limit.area.x) {

                                    ceshi = limit.area.x;

                                }

                                if (ceshi >= 0) {

                                    ceshi = 0;

                                }

                                $(el).css({

                                    transform: 'translateX(' + ceshi + 'px)'

                                });

                            });

                            endMove.begin();

                        }

                    }

                });

            },

        })

        return upDataLimit;

    }

};





var selfTools = {

    bindPage: function bindPage(fn, pageList, parameter) {



        var fnName = fn.name;



        for (var i = 0; i < pageList.length; i++) {

            var doSome = fn;

            var item = pageList[i];



            YY.Page[item].prototype.things.push([doSome, parameter]);

        }

    },

    addStyle: function addStyle() {

        var newStyle = '<style id="ff_add">';

        for (var key in newStyleContent) {

            if (newStyleContent.hasOwnProperty(key)) {

                // console.log(config, key);

                // if (config[key].open) {

                var style = newStyleContent[key];

                newStyle += style;

                // }

            }

        }

        newStyle += '</style>';

        $(newStyle).insertBefore($('link')[0]);

    }

};



var pageConfig = {

    list: ['indexMain', 'baseMain', 'postMain']

};





var config = {

    initThings: {

        page: pageConfig.list,

        fn: job.initThings

    },

    headerHover: {

        page: pageConfig.list,

        fn: job.headerHover

    },

    parallax: {

        page: ['indexMain'],

        fn: job.parallax,

        parameter: ['#topSlider .content_list']

    },

    parallaxPage: {

        page: ['baseMain'],

        fn: job.parallaxPage,

        parameter: ['.npagePage #banner div']

    },

    sliderDotThemb: {

        page: ['indexMain'],

        fn: job.sliderDotThemb

    },

    sliderDirThemb: {

        page: ['indexMain'],

        fn: job.sliderDirThemb,

        parameter: ['LR']

    },

    sliderTitle: {

        page: ['indexMain'],

        fn: job.sliderTitle

    },

    npostSlider: {

        page: ['postMain'],

        fn: job.npostSlider,

        parameter: [{

            not: '.bodyproject'

        }]

    },

    postTabHiden: {

        page: ['postMain'],

        fn: job.postTabHiden

    },

    specialModule: {

        page: ['indexMain'],

        fn: job.specialModule

    },

    teamTabs: {

        page: ['indexMain'],

        fn: job.teamTabs

    },

    teamTabsTwo: {

        page: ['indexMain'],

        fn: job.teamTabsTwo

    },

    ad01: {

        page: ['indexMain'],

        fn: job.ad01

    },

    normalTeamTabs: {

        page: ['indexMain'],

        fn: job.normalTeamTabs,

        parameter: [{}, true]

    },

    searchForm: {

        page: pageConfig.list,

        fn: job.searchForm,

        parameter: [{

            style: 'two',

            type: 'LR'

        }]

    },

    timeTurnEn: {

        page: pageConfig.list,

        fn: job.timeTurnEn,

        parameter: ['.service .item_block .date_wrap']

    },

    headerHoverBase: {

        page: pageConfig.list,

        fn: job.headerHoverBase,

        parameter: ['#header']

    },

    teamTabPop: {

        page: ['indexMain'],

        fn: job.teamTabPop

    },

    postSliderThemb: {

        page: ['postMain'],

        fn: job.postSliderThemb,

        parameter: ['LR', '.bodyproject']

    },

    moduleControl: {

        page: ['indexMain'],

        fn: job.moduleControl

    },

    privateproject: {

        page: ['indexMain', 'baseMain'],

        fn: job.privateproject

    }

};





selfTools.addStyle();



(function () {



    for (var i = 0; i < pageConfig.list.length; i++) {

        var item = pageConfig.list[i];

        YY.Page[item].prototype.things = [];

        YY.Page[item].prototype.interfaceFun = function () {

            console.log(this)

            var _this = this;

            for (var i = 0; i < this.things.length; i++) {

                var fn = this.things[i][0];

                var arg = this.things[i][1];

                fn.apply(_this, arg);

            }

        };

    }



    // for (var key in this.config) {

    //     if (this.config.hasOwnProperty(key)) {

    //         var val = this.config[key];

    //         if (key) {

    //             selfTools.bindPage(val.fn, val.page, val.parameter);

    //         }

    //     }

    // }



    for (var key in job) {

        if (job.hasOwnProperty(key)) {

            var element = job[key];

            var val = this.config[key];

            selfTools.bindPage(val.fn, val.page, val.parameter);

        }

    }

})();